/*
 * Maqueta estructural SIMARC
 * Los bloques .media-slot se sustituyen después por fotografías y recortes
 * aprobados sin alterar la jerarquía, el contenido ni la conversión.
 */

.structure-preview {
  --structure-ivory: #f4f1ea;
  --structure-paper: #fbfbf8;
  --structure-navy: #04152b;
  --structure-blue: #0a3564;
  --structure-gold: #e6bd38;
  --structure-line: rgba(6, 31, 60, .16);
  background: var(--structure-paper);
}

.structure-preview .site-topbar { display: none; }

.structure-preview .site-header {
  min-height: 78px;
  padding-block: 10px;
  background: rgba(251, 251, 248, .94);
  border-color: var(--structure-line);
  box-shadow: none;
}

.structure-preview .brand img { width: 158px; }

.structure-preview .cinematic-hero,
.structure-preview .premium-solution-hero {
  min-height: calc(100svh - 78px);
  background:
    radial-gradient(circle at 77% 42%, rgba(44, 102, 165, .23), transparent 30%),
    radial-gradient(circle at 57% 100%, rgba(230, 189, 56, .09), transparent 33%),
    linear-gradient(116deg, #020d1c 0%, #051a34 62%, #06152a 100%);
}

.structure-preview .cinematic-grid,
.structure-preview .solution-hero-grid {
  opacity: .09;
  background-size: 88px 88px;
}

.structure-preview .cinematic-copy,
.structure-preview .premium-solution-copy { max-width: 680px; }

.structure-preview .cinematic-hero h1 {
  max-width: 760px;
  font-size: clamp(3.8rem, 6.2vw, 7.35rem);
}

.structure-preview .premium-solution-hero h1 {
  max-width: 760px;
  font-size: clamp(3.45rem, 5.25vw, 6.25rem);
}

.structure-preview .cinematic-intro,
.structure-preview .premium-solution-intro {
  max-width: 610px;
  color: rgba(255, 255, 255, .72);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Product carousel */
.structure-preview .product-slider {
  display: block;
  --current-accent: var(--structure-gold);
  color: var(--structure-navy);
  background:
    radial-gradient(circle at 88% 18%, rgba(230, 189, 56, .22), transparent 25%),
    radial-gradient(circle at 69% 76%, rgba(10, 53, 100, .09), transparent 34%),
    linear-gradient(118deg, #ffffff 0%, #fbfbf8 58%, #f3f6f9 100%);
}

.structure-preview .product-slider .cinematic-grid {
  opacity: .045;
  background-image:
    linear-gradient(rgba(4, 21, 43, .34) 1px, transparent 1px),
    linear-gradient(90deg, rgba(4, 21, 43, .34) 1px, transparent 1px);
}

.structure-preview .product-slider .premium-button-ghost {
  color: var(--structure-navy);
  background: rgba(255, 255, 255, .62);
  border-color: rgba(4, 21, 43, .28);
}

.structure-preview .product-slider .premium-button-ghost:hover {
  color: #fff;
  background: var(--structure-navy);
  border-color: var(--structure-navy);
}

.product-slider-track {
  position: relative;
  width: 100%;
  height: 100%;
}

.product-slide {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(470px, 1.1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 82px);
  opacity: 0;
  visibility: hidden;
  transform: translateX(34px);
  pointer-events: none;
  transition: opacity .6s var(--premium-ease), transform .72s var(--premium-ease), visibility 0s linear .72s;
}

.product-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
  transition-delay: 0s;
}

.product-slide-copy {
  position: relative;
  z-index: 6;
  max-width: 660px;
  padding-bottom: 48px;
}

.product-slide-copy h2 {
  max-width: 650px;
  margin: 0 0 24px;
  color: var(--structure-navy);
  font-size: clamp(3.6rem, 5.75vw, 6.85rem);
  line-height: .91;
  letter-spacing: -.064em;
}

.product-slide-copy > p {
  max-width: 600px;
  margin: 0 0 30px;
  color: rgba(4, 21, 43, .68);
  font-size: clamp(1rem, 1.26vw, 1.17rem);
  line-height: 1.62;
}

.product-slide-copy > .product-slide-kicker {
  width: fit-content;
  margin: 0 0 17px;
  padding: 7px 12px;
  color: var(--structure-blue);
  background: rgba(230, 189, 56, .18);
  border-left: 3px solid var(--structure-gold);
  font-size: .67rem;
  font-weight: 850;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.product-slide-visual {
  position: relative;
  height: 100%;
  min-height: 440px;
  perspective: 1200px;
}

.product-slide-visual::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -8% -18% -9% 3%;
  background:
    radial-gradient(circle at 34% 22%, color-mix(in srgb, var(--slide-accent), transparent 58%), transparent 31%),
    radial-gradient(circle at 72% 75%, rgba(31, 99, 166, .42), transparent 38%),
    linear-gradient(145deg, #092847 0%, #031426 68%, #020b16 100%);
  border-radius: 46% 0 0 46% / 52% 0 0 52%;
  box-shadow: 0 30px 80px rgba(4, 21, 43, .22);
}

.product-slide-visual::before {
  content: "";
  position: absolute;
  inset: 10% 2% 9% 8%;
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--slide-accent), transparent 48%);
  border-radius: 50%;
  transform: rotate(-9deg);
  background: rgba(255, 255, 255, .025);
}

.product-slide-number {
  position: absolute;
  right: 2%;
  bottom: 2%;
  z-index: 1;
  color: transparent;
  font-size: clamp(8rem, 15vw, 15rem);
  font-weight: 900;
  line-height: .78;
  -webkit-text-stroke: 1px rgba(255,255,255,.09);
}

.hero-product-image {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 3%;
  display: block;
  width: 104%;
  max-width: none;
  max-height: 94%;
  object-fit: contain;
  opacity: 0;
  filter: drop-shadow(0 34px 38px rgba(0, 0, 0, .36));
  transform: translate3d(-43%, 30px, 0) scale(.92);
  transition: opacity .7s ease, transform 1s cubic-bezier(.18,.82,.22,1);
}

.product-slide.is-active .hero-product-image {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1);
}

.product-slide--impresoras-industriales .hero-product-image { width: 88%; mix-blend-mode: multiply; filter: drop-shadow(0 30px 28px rgba(0,0,0,.42)); }
.product-slide--soluciones-integrales .hero-product-image,
.product-slide--linerless .hero-product-image { width: 104%; height: 82%; max-height: none; object-fit: cover; border: 1px solid rgba(255,255,255,.16); border-radius: 28px; box-shadow: 0 34px 65px rgba(0,0,0,.35); filter: none; }
.product-slide--brady .hero-product-image { width: 88%; max-height: 86%; border-radius: 22px; box-shadow: 0 30px 60px rgba(0,0,0,.28); filter: none; }

.product-slide-visual .slide-product-slot {
  --slot-ink: var(--structure-navy);
  --slot-muted: rgba(4, 21, 43, .55);
  position: absolute;
  z-index: 3;
  right: 3%;
  bottom: 2%;
  width: 68%;
  height: 82%;
  color: var(--structure-navy);
  background: rgba(255, 255, 255, .84);
  border-color: color-mix(in srgb, var(--slide-accent), #fff 35%);
  border-radius: 48% 48% 13% 13% / 30% 30% 8% 8%;
  box-shadow: 0 36px 85px rgba(4,21,43,.14);
}

.product-slide-visual .slide-product-slot::before { border-color: color-mix(in srgb, var(--slide-accent), transparent 65%); }
.product-slide-visual .slide-product-slot .media-slot-kicker { color: var(--slide-accent); }

.product-slide-visual .slide-application-slot {
  position: absolute;
  z-index: 5;
  top: 5%;
  right: 0;
  width: 43%;
  min-height: 210px;
  transform: translate3d(var(--layer-x, 0), var(--layer-y, 0), 0) rotate(3deg);
  background:
    linear-gradient(180deg, rgba(4,21,43,.04), rgba(4,21,43,.82)),
    linear-gradient(135deg, #174a7f, #061a32);
  box-shadow: 0 24px 70px rgba(4,21,43,.2);
}

.label-application-demo {
  position: absolute;
  z-index: 4;
  inset: 0;
  overflow: visible;
}

.label-demo-bottle,
.label-demo-label {
  position: absolute;
  left: 50%;
  display: block;
  width: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  will-change: transform, opacity;
}

.label-demo-bottle {
  bottom: -15%;
  height: 126%;
  opacity: 0;
  filter: drop-shadow(0 28px 34px rgba(4, 21, 43, .22));
  transform: translate3d(-50%, 34px, 0) scale(.95);
}

.label-demo-label {
  z-index: 2;
  bottom: -6%;
  height: 82%;
  opacity: 0;
  filter: drop-shadow(0 12px 16px rgba(4, 21, 43, .22));
  transform: translate3d(calc(-50% + 190px), -8px, 0) rotate(7deg) scale(.78);
  transform-origin: 50% 55%;
}

.label-demo-contact {
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 29%;
  width: 42%;
  aspect-ratio: 1;
  border: 1px solid rgba(230, 189, 56, .7);
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, 50%) scale(.72);
}

.product-slide.is-active .label-demo-bottle {
  animation: bottle-arrival .82s cubic-bezier(.2,.75,.25,1) .08s both;
}

.product-slide.is-active .label-demo-label {
  animation: label-apply 1.05s cubic-bezier(.18,.82,.22,1) .92s both;
}

.product-slide.is-active .label-demo-contact {
  animation: label-contact .65s ease-out 1.7s both;
}

@keyframes bottle-arrival {
  to { opacity: 1; transform: translate3d(-50%, 0, 0) scale(1); }
}

@keyframes label-apply {
  0% { opacity: 0; transform: translate3d(calc(-50% + 190px), -8px, 0) rotate(7deg) scale(.78); }
  34% { opacity: 1; }
  78% { transform: translate3d(-50%, 0, 0) rotate(-1deg) scale(1.025); }
  100% { opacity: 1; transform: translate3d(-50%, 0, 0) rotate(0) scale(1); }
}

@keyframes label-contact {
  0% { opacity: 0; transform: translate(-50%, 50%) scale(.72); }
  38% { opacity: .8; }
  100% { opacity: 0; transform: translate(-50%, 50%) scale(1.18); }
}

.product-slider-controls {
  position: absolute;
  z-index: 12;
  right: auto;
  bottom: clamp(14px, 2.7svh, 28px);
  left: clamp(22px, 5.6vw, 92px);
  width: min(940px, calc(100% - 220px));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 6px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(4,21,43,.1);
  border-radius: 999px;
  box-shadow: 0 14px 35px rgba(4,21,43,.12);
  backdrop-filter: blur(16px);
}

.slider-dots {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
}

.slider-dot {
  color: rgba(4,21,43,.56);
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
}

.slider-dot {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  text-align: left;
  border-color: transparent;
  transition: color .3s ease, border-color .3s ease, background .3s ease;
}

.slider-dot > span { font-size: .61rem; font-weight: 850; letter-spacing: .08em; }
.slider-dot > small { overflow: hidden; font-size: .65rem; font-weight: 720; text-overflow: ellipsis; white-space: nowrap; }
.slider-dot:hover { color: var(--structure-navy); background: rgba(4,21,43,.055); }
.slider-dot.is-active { color: var(--structure-navy); background: var(--structure-gold); }

/* The complete conversion block stays inside the first desktop viewport. */
@media (min-width: 921px) {
  .structure-preview .cinematic-hero,
  .structure-preview .premium-solution-hero {
    height: calc(100svh - 78px);
    min-height: 540px;
    max-height: 850px;
    padding-top: clamp(28px, 5.2svh, 62px);
    padding-bottom: clamp(30px, 5.5svh, 68px);
  }

  .structure-preview .hero-stage,
  .structure-preview .solution-stage {
    min-height: 0;
    height: 100%;
    max-height: 650px;
  }

  .structure-preview .product-slider-controls { right: auto; }
}

@media (min-width: 921px) and (max-height: 820px) {
  .structure-preview .cinematic-hero,
  .structure-preview .premium-solution-hero {
    gap: clamp(18px, 3vw, 46px);
    padding-right: clamp(30px, 5.4vw, 76px);
    padding-left: clamp(30px, 5.4vw, 76px);
  }

  .structure-preview .premium-eyebrow { margin-bottom: 12px; }
  .structure-preview .cinematic-hero h1 {
    max-width: 610px;
    margin-bottom: 17px;
    font-size: clamp(3.25rem, 4.65vw, 4.4rem);
    line-height: .88;
  }

  .structure-preview .product-slide-copy h2 {
    max-width: 590px;
    margin-bottom: 17px;
    font-size: clamp(3rem, 4.5vw, 4.2rem);
    line-height: .9;
  }

  .structure-preview .product-slide-copy > p {
    max-width: 560px;
    margin-bottom: 19px;
    font-size: .94rem;
    line-height: 1.48;
  }

  .structure-preview .product-slide-copy { padding-bottom: 48px; }
  .structure-preview .product-slide-visual { min-height: 360px; }
  .structure-preview .slide-application-slot { min-height: 165px; }

  .structure-preview .premium-solution-hero h1 {
    max-width: 620px;
    margin-bottom: 17px;
    font-size: clamp(2.8rem, 4vw, 3.8rem);
    line-height: .91;
  }

  .structure-preview .cinematic-intro,
  .structure-preview .premium-solution-intro {
    margin-bottom: 19px;
    font-size: .94rem;
    line-height: 1.48;
  }

  .structure-preview .premium-back { margin-bottom: 20px; }
  .structure-preview .premium-button { min-height: 47px; padding: 11px 18px; }
  .structure-preview .hero-qualifier,
  .structure-preview .solution-qualifier { margin-top: 14px; }
  .structure-preview .structural-application-slot.hero-application-card { min-height: 175px; }
  .structure-preview .hero-spec { padding: 9px 11px; }
}

/* Designed image positions — intentionally useful even while empty. */
.media-slot {
  --slot-ink: rgba(255, 255, 255, .9);
  --slot-muted: rgba(255, 255, 255, .54);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  isolation: isolate;
  overflow: hidden;
  color: var(--slot-ink);
  border: 1px solid rgba(255, 255, 255, .27);
  background:
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.015)),
    repeating-linear-gradient(90deg, transparent 0 59px, rgba(255,255,255,.05) 60px),
    repeating-linear-gradient(0deg, transparent 0 59px, rgba(255,255,255,.05) 60px);
}

.media-slot::before,
.media-slot::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.media-slot::before {
  top: 50%;
  left: 50%;
  width: min(62%, 330px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 38px rgba(255,255,255,.025), 0 0 0 76px rgba(255,255,255,.018);
}

.media-slot::after {
  inset: 16px;
  border: 1px dashed rgba(255,255,255,.13);
}

.media-slot > span,
.media-slot > strong,
.media-slot > small,
.media-slot > div { position: relative; z-index: 2; }

.media-slot-kicker {
  color: var(--structure-gold);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.media-slot > strong,
.media-slot > div > strong {
  display: block;
  max-width: 310px;
  color: inherit;
  font-size: clamp(1.2rem, 2vw, 2rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.media-slot > small,
.media-slot > div > small {
  max-width: 300px;
  color: var(--slot-muted);
  font-size: .68rem;
  line-height: 1.45;
}

.media-slot-photo {
  padding: clamp(22px, 4vw, 40px);
  background:
    linear-gradient(180deg, rgba(1,13,29,.03), rgba(1,13,29,.73)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 64px),
    linear-gradient(135deg, #173c64, #071a32);
}

.media-slot-cutout {
  justify-content: center;
  padding: 28px;
  text-align: center;
  align-items: center;
  background: rgba(5, 28, 54, .35);
  border: 1px dashed rgba(230, 189, 56, .62);
}

.media-slot-cutout::before {
  width: 72%;
  background: radial-gradient(circle, rgba(230,189,56,.18), transparent 68%);
  border-color: rgba(230,189,56,.26);
}

.media-slot-cutout::after { border-color: rgba(230,189,56,.22); }

.structural-product-slot.hero-product {
  position: absolute;
  right: -2%;
  bottom: 4%;
  width: 70%;
  height: 82%;
  border-radius: 49% 49% 16% 16% / 32% 32% 8% 8%;
}

.structural-application-slot.hero-application-card {
  position: absolute;
  top: 7%;
  right: 1%;
  width: 42%;
  min-height: 230px;
  border: 1px solid rgba(255,255,255,.3);
  transform: translate3d(var(--layer-x, 0), var(--layer-y, 0), 0) rotate(3deg);
}

.structure-preview .hero-stage::after { opacity: .35; }

.structure-preview .editorial-card-media.media-slot {
  min-height: 390px;
  justify-content: flex-end;
  padding: 34px;
  color: var(--structure-navy);
  background:
    radial-gradient(circle at 52% 45%, rgba(230,189,56,.16), transparent 28%),
    repeating-linear-gradient(90deg, transparent 0 71px, rgba(6,31,60,.045) 72px),
    repeating-linear-gradient(0deg, transparent 0 71px, rgba(6,31,60,.045) 72px),
    #eeeae1;
  border-color: rgba(6,31,60,.14);
}

.structure-preview .editorial-card-media.media-slot::before {
  width: 46%;
  border-color: rgba(6,31,60,.15);
  box-shadow: 0 0 0 45px rgba(6,31,60,.025), 0 0 0 90px rgba(6,31,60,.018);
}

.structure-preview .editorial-card-media.media-slot::after { border-color: rgba(6,31,60,.13); }
.structure-preview .editorial-card-media .media-slot-kicker { color: #705b15; }
.structure-preview .editorial-card-media > small { color: rgba(6,31,60,.58); }

.structure-preview .industry-gallery .media-slot-scene,
.structure-preview .landing-gallery-grid .media-slot-scene {
  --slot-ink: #fff;
  min-height: 100%;
  justify-content: flex-end;
  padding: 34px;
  background:
    linear-gradient(180deg, transparent 30%, rgba(2,13,28,.88)),
    radial-gradient(circle at 65% 27%, rgba(230,189,56,.18), transparent 25%),
    #102c4a;
}

.media-slot-scene > div { display: grid; gap: 8px; margin-bottom: 45px; }
.media-slot-scene figcaption { z-index: 3; }

.structure-preview .technical-visual.media-slot-process {
  --slot-ink: var(--structure-navy);
  --slot-muted: rgba(4,21,43,.58);
  justify-content: center;
  padding: clamp(35px, 6vw, 86px);
  background:
    radial-gradient(circle at 54% 48%, rgba(230,189,56,.22), transparent 24%),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(6,31,60,.04) 80px),
    repeating-linear-gradient(0deg, transparent 0 79px, rgba(6,31,60,.04) 80px),
    var(--structure-ivory);
  border: 0;
}

.structure-preview .technical-visual.media-slot-process::before { border-color: rgba(6,31,60,.14); }
.structure-preview .technical-visual.media-slot-process::after { border-color: rgba(6,31,60,.12); }

/* Solution template */
.structural-main-slot.solution-stage-main {
  position: absolute;
  padding: 38px;
  border: 1px solid rgba(255,255,255,.24);
}

.structural-cutout-slot.solution-stage-cutout {
  position: absolute;
  right: -5%;
  bottom: -5%;
  width: 55%;
  height: 78%;
  border-radius: 48% 48% 13% 13% / 28% 28% 8% 8%;
  box-shadow: 0 32px 80px rgba(0,0,0,.3);
}

.product-showcase {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(560px, 1.18fr);
  gap: clamp(55px, 8vw, 130px);
  align-items: center;
  padding: clamp(95px, 11vw, 170px) clamp(22px, 7.2vw, 118px);
  background: var(--structure-paper);
}

.product-showcase-copy h2 {
  max-width: 690px;
  margin: 0 0 28px;
  font-size: clamp(3rem, 5.2vw, 6.2rem);
  line-height: .95;
  letter-spacing: -.06em;
}

.product-showcase-copy > p:not(.premium-eyebrow) {
  max-width: 620px;
  color: #697587;
  font-size: 1.04rem;
  line-height: 1.75;
}

.product-showcase-copy ul {
  display: grid;
  gap: 13px;
  margin: 35px 0 0;
  padding: 0;
  list-style: none;
}

.product-showcase-copy li {
  position: relative;
  padding-left: 24px;
  color: #253a55;
  font-size: .84rem;
  font-weight: 650;
}

.product-showcase-copy li::before {
  content: "";
  position: absolute;
  top: .45em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--structure-gold);
  border-radius: 50%;
}

.product-showcase-visual {
  position: relative;
  min-height: 650px;
}

.showcase-background-slot {
  position: absolute;
  top: 0;
  right: 0;
  width: 72%;
  height: 72%;
}

.showcase-product-slot {
  position: absolute;
  right: 35%;
  bottom: 2%;
  width: 43%;
  height: 76%;
  color: var(--structure-navy);
  background: rgba(255,255,255,.82);
  box-shadow: 0 28px 80px rgba(4,21,43,.16);
  backdrop-filter: blur(10px);
}

.showcase-product-slot .media-slot-kicker { color: #735d13; }
.showcase-product-slot > small { color: rgba(4,21,43,.56); }

.showcase-caption {
  position: absolute;
  right: 0;
  bottom: 4%;
  max-width: 190px;
  color: #677386;
  font-size: .66rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.structure-preview .premium-products-grid article { padding-top: 28px; }

.product-card-slot {
  min-height: 170px;
  display: grid;
  place-content: center;
  gap: 6px;
  margin: -8px -8px 35px;
  color: rgba(4,21,43,.55);
  text-align: center;
  background:
    radial-gradient(circle, rgba(230,189,56,.18), transparent 36%),
    repeating-linear-gradient(90deg, transparent 0 49px, rgba(6,31,60,.04) 50px),
    #f0eee8;
  border: 1px dashed rgba(6,31,60,.2);
}

.product-card-slot span { color: var(--structure-navy) !important; font-size: .75rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card-slot small { font-size: .62rem; letter-spacing: .05em; }

.brand-slot {
  min-height: 130px;
  display: grid;
  place-content: center;
  gap: 8px;
  padding: 20px;
  text-align: center;
  background: #f1eee7;
  border: 1px dashed rgba(6,31,60,.2);
}

.brand-slot > span { color: #7a8492; font-size: .58rem; font-weight: 760; letter-spacing: .09em; text-transform: uppercase; }
.brand-slot figcaption { color: var(--structure-navy); font-size: 1rem; font-weight: 800; }

@media (max-width: 1080px) {
  .product-showcase { grid-template-columns: 1fr; }
  .product-showcase-copy { max-width: 760px; }
  .product-showcase-visual { min-height: 610px; }
}

@media (max-width: 920px) {
  .structure-preview .cinematic-hero,
  .structure-preview .premium-solution-hero { min-height: auto; }
  .structural-product-slot.hero-product { right: 2%; width: 65%; }
  .product-showcase { padding-block: 105px; }
  .structure-preview .product-slider { height: calc(100svh - 79px); min-height: 600px; }
  .product-slide { grid-template-columns: 1fr; gap: 12px; }
  .product-slide-copy { max-width: 760px; padding-bottom: 0; }
  .product-slide-visual { min-height: 270px; }
  .product-slide-visual::after { inset: -3% -20% -5% 0; border-radius: 48% 0 0 48% / 55% 0 0 55%; }
  .product-slider-controls { bottom: 12px; }
}

@media (max-width: 650px) {
  .structure-preview .site-header { min-height: 76px; }
  .structure-preview .brand img { width: 138px; }
  .structure-preview .cinematic-hero,
  .structure-preview .premium-solution-hero {
    min-height: calc(100svh - 79px);
    gap: 10px;
    padding: 26px 18px 16px;
  }
  .structure-preview .cinematic-hero h1,
  .structure-preview .premium-solution-hero h1 { font-size: clamp(2.65rem, 13vw, 3.45rem); }
  .structure-preview .product-slider { height: calc(100svh - 79px); min-height: 600px; }
  .structure-preview .product-slide-copy h2 {
    max-width: 350px;
    margin-bottom: 15px;
    font-size: clamp(2.35rem, 10.4vw, 2.75rem);
    line-height: .91;
  }
  .structure-preview .product-slide-copy > p { margin-bottom: 17px; font-size: .9rem; line-height: 1.48; }
  .structure-preview .product-slide .cinematic-actions { grid-template-columns: 1fr; gap: 9px; }
  .structure-preview .product-slide .premium-button { min-height: 46px; }
  .structure-preview .product-slide-visual { min-height: 210px; }
  .structure-preview .slide-product-slot { right: 2%; width: 64%; height: 92%; padding: 16px; }
  .structure-preview .slide-application-slot { top: 0; width: 45%; min-height: 95px; padding: 14px; }
  .structure-preview .slide-application-slot .media-slot-kicker,
  .structure-preview .slide-application-slot > small { display: none; }
  .structure-preview .slide-application-slot > strong { font-size: .78rem; }
  .structure-preview .slide-product-slot > strong { font-size: .9rem; }
  .structure-preview .slide-product-slot > small { font-size: .55rem; }
  .label-demo-bottle { bottom: -9%; height: 112%; }
  .label-demo-label { bottom: -2%; height: 72%; }
  .hero-product-image { width: 100%; max-height: 96%; }
  .product-slide--impresoras-industriales .hero-product-image,
  .product-slide--brady .hero-product-image { width: 88%; }
  .product-slide--soluciones-integrales .hero-product-image,
  .product-slide--linerless .hero-product-image { width: 100%; height: 86%; border-radius: 18px; }
  .product-slider-controls { right: 18px; bottom: 8px; left: 18px; width: auto; grid-template-columns: minmax(0,1fr); gap: 6px; border-radius: 18px; }
  .slider-dots { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; }
  .slider-dot { min-height: 32px; justify-content: center; padding: 4px 5px; text-align: center; }
  .slider-dot > small { display: block; font-size: .56rem; white-space: normal; }
  .structure-preview + .floating-whatsapp { bottom: 122px; }
  .structure-preview .premium-solution-hero h1 {
    margin-bottom: 16px;
    font-size: clamp(2.25rem, 9.8vw, 2.55rem);
    line-height: .93;
  }
  .structure-preview .cinematic-intro,
  .structure-preview .premium-solution-intro { margin-bottom: 20px; line-height: 1.52; }
  .structure-preview .premium-back { margin-bottom: 20px; }
  .structure-preview .hero-qualifier,
  .structure-preview .solution-qualifier { margin-top: 16px; }
  .structure-preview .hero-stage,
  .structure-preview .solution-stage { min-height: 180px; }
  .structural-product-slot.hero-product { right: 0; bottom: 1%; width: 69%; height: 94%; }
  .structural-application-slot.hero-application-card { right: 0; width: 45%; min-height: 94px; }
  .structure-preview .hero-spec { display: none; }
  .structure-preview .structural-application-slot .media-slot-kicker,
  .structure-preview .structural-application-slot > small { display: none; }
  .structure-preview .structural-application-slot > strong { font-size: .88rem; }
  .media-slot { padding: 20px; }
  .media-slot > strong,
  .media-slot > div > strong { font-size: 1.05rem; }
  .structure-preview .editorial-card-media.media-slot { min-height: 310px; padding: 25px; }
  .structural-main-slot.solution-stage-main { inset: 4% 0 10% 0; }
  .structural-cutout-slot.solution-stage-cutout { right: 2%; bottom: 0; width: 52%; height: 72%; }
  .product-showcase { gap: 45px; padding: 86px 18px; }
  .product-showcase-copy h2 { font-size: clamp(2.65rem, 12vw, 3.6rem); }
  .product-showcase-visual { min-height: 480px; }
  .showcase-background-slot { width: 94%; height: 68%; }
  .showcase-product-slot { right: 31%; width: 56%; height: 70%; }
  .showcase-caption { max-width: 120px; font-size: .55rem; }
  .product-card-slot { min-height: 150px; }
}

@media (prefers-reduced-motion: reduce) {
  .structure-preview .media-slot { transform: none !important; }
  .product-slide.is-active .label-demo-bottle,
  .product-slide.is-active .label-demo-label { opacity: 1; animation: none; transform: translate3d(-50%, 0, 0) scale(1); }
  .product-slide.is-active .label-demo-contact { display: none; }
}

/* Final cinematic direction: product-led, full-screen and editorial. */
.home-page.structure-preview .site-header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 80;
  min-height: 94px;
  padding: 16px clamp(28px, 5.4vw, 78px);
  color: var(--structure-navy);
  background: rgba(255,255,255,.88);
  border-bottom: 1px solid rgba(6,31,60,.09);
  box-shadow: 0 10px 35px rgba(6,31,60,.045);
  backdrop-filter: blur(16px);
}

.home-page.structure-preview .site-header .brand img { width: 178px; }
.home-page.structure-preview .header-nav a { color: rgba(6,31,60,.82); }
.home-page.structure-preview .header-nav a::after { background: var(--structure-gold); }
.home-page.structure-preview .header-cta {
  color: #fff;
  background: var(--structure-navy);
  border-color: var(--structure-navy);
}
.home-page.structure-preview .header-cta:hover { color: var(--structure-navy); background: var(--structure-gold); border-color: var(--structure-gold); }

.structure-preview .product-slider {
  height: 100svh;
  min-height: 620px;
  max-height: none;
  padding-top: 112px;
  padding-bottom: 78px;
  color: var(--structure-navy);
  background:
    radial-gradient(circle at 82% 36%, rgba(244, 202, 55, .2), transparent 28%),
    radial-gradient(circle at 69% 83%, rgba(21, 82, 134, .11), transparent 34%),
    linear-gradient(112deg, #fff 0%, #fbfaf6 52%, #f4f7fa 100%);
}

.structure-preview .product-slider .cinematic-grid {
  opacity: .42;
  background-image:
    linear-gradient(rgba(6,31,60,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6,31,60,.035) 1px, transparent 1px);
}

.product-slide { grid-template-columns: minmax(390px, .78fr) minmax(560px, 1.22fr); gap: clamp(18px, 3.2vw, 54px); }
.product-slide-copy { max-width: 610px; padding-bottom: 30px; }
.product-slide-copy > .product-slide-kicker {
  margin: 0 0 16px;
  padding: 0;
  color: rgba(6,31,60,.56);
  background: transparent;
  border: 0;
  font-size: .72rem;
  letter-spacing: .12em;
}

.product-slide-copy h2 {
  max-width: 610px;
  margin: 0 0 20px;
  color: var(--structure-navy);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(5.1rem, 7.7vw, 8.7rem);
  font-style: italic;
  font-weight: 400;
  line-height: .8;
  letter-spacing: -.07em;
}

.product-slide-copy > .product-slide-strapline {
  margin: 0 0 14px;
  color: var(--structure-navy);
  font-size: clamp(1.15rem, 1.65vw, 1.55rem);
  font-weight: 520;
  line-height: 1.15;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.product-slide-copy > .product-slide-description {
  max-width: 500px;
  margin: 0 0 24px;
  color: rgba(6,31,60,.66);
  font-size: .98rem;
  line-height: 1.55;
}

.structure-preview .product-slider .premium-button-gold {
  color: #fff;
  background: var(--structure-navy);
  border: 1px solid var(--structure-navy);
}
.structure-preview .product-slider .premium-button-gold:hover { color: var(--structure-navy); background: var(--structure-gold); border-color: var(--structure-gold); }

.product-slide-visual::after {
  inset: -24% -22% -22% -5%;
  background:
    radial-gradient(circle at 42% 38%, color-mix(in srgb, var(--slide-accent), transparent 62%), transparent 31%),
    radial-gradient(circle at 65% 68%, rgba(24,75,120,.12), transparent 40%);
  border-radius: 0;
  box-shadow: none;
}

.product-slide-visual::before {
  inset: 7% -3% 0 7%;
  border-color: color-mix(in srgb, var(--slide-accent), transparent 45%);
  background: transparent;
}

.product-slide-number { right: -5%; bottom: -8%; -webkit-text-stroke-color: rgba(6,31,60,.055); }
.label-application-demo { inset: -2% 0 -5% 1%; transform: rotate(5deg); transform-origin: 55% 55%; }
.label-demo-bottle { left: 58%; bottom: -16%; height: 124%; filter: drop-shadow(0 28px 38px rgba(6,31,60,.2)); }
.label-demo-label { left: 58%; bottom: -7%; height: 81%; filter: drop-shadow(0 13px 17px rgba(6,31,60,.18)); }
.label-demo-contact { left: 58%; bottom: 25%; }

.hero-product-image { left: 54%; bottom: -2%; width: 116%; max-height: 111%; }
.product-slide--marca-precio .hero-product-image { width: 122%; }
.product-slide--impresoras-industriales .hero-product-image { width: 102%; max-height: 103%; mix-blend-mode: normal; }
.product-slide--soluciones-integrales .hero-product-image,
.product-slide--linerless .hero-product-image { width: 116%; height: 106%; border: 0; border-radius: 0; opacity: .76; mask-image: linear-gradient(90deg, transparent 0, #000 16%, #000 100%); }
.product-slide--brady .hero-product-image { width: 104%; max-height: 100%; border-radius: 0; mix-blend-mode: normal; }

.product-slider-controls {
  right: auto;
  bottom: 23px;
  left: clamp(28px, 5.4vw, 78px);
  width: min(760px, calc(100% - 210px));
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.slider-dots { gap: 0; }
.slider-dot {
  min-height: 43px;
  justify-content: center;
  padding: 8px 10px;
  color: rgba(6,31,60,.48);
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(6,31,60,.18);
  border-radius: 0;
  text-align: center;
}
.slider-dot:hover { color: var(--structure-navy); background: rgba(6,31,60,.035); }
.slider-dot.is-active { color: var(--structure-navy); background: transparent; border-bottom: 3px solid var(--structure-gold); }
.slider-dot > small { font-size: .68rem; font-weight: 650; }

@media (max-width: 920px) {
  .home-page.structure-preview .site-header { min-height: 78px; padding: 10px 20px; background: rgba(255,255,255,.94); }
  .structure-preview .product-slider { height: 100svh; min-height: 680px; padding-top: 96px; padding-bottom: 82px; }
  .product-slide { grid-template-columns: 1fr; align-content: start; gap: 12px; }
  .product-slide-copy { max-width: 760px; }
  .product-slide-copy h2 { font-size: clamp(4.2rem, 13vw, 6.7rem); }
  .product-slide-visual { min-height: 290px; }
  .product-slide-visual::after { inset: -10% -20%; }
  .label-application-demo { inset: -12% -4% -22%; }
  .label-demo-bottle { bottom: -20%; height: 128%; }
  .label-demo-label { bottom: -10%; height: 84%; }
  .product-slider-controls { right: 20px; bottom: 14px; left: 20px; width: auto; }
}

@media (max-width: 650px) {
  .home-page.structure-preview .site-header { min-height: 72px; }
  .home-page.structure-preview .site-header .brand img { width: 136px; }
  .structure-preview .product-slider { min-height: 700px; padding: 98px 18px 86px; }
  .product-slide-copy > .product-slide-kicker { margin-bottom: 10px; font-size: .58rem; }
  .product-slide-copy h2 { margin-bottom: 14px; font-size: clamp(3.55rem, 17vw, 5rem); }
  .product-slide-copy > .product-slide-strapline { margin-bottom: 9px; font-size: .94rem; }
  .product-slide-copy > .product-slide-description { margin-bottom: 14px; font-size: .82rem; line-height: 1.42; }
  .structure-preview .product-slide .premium-button { min-height: 42px; }
  .product-slide-visual { min-height: 250px; }
  .label-application-demo { inset: -6% -8% -28%; }
  .label-demo-bottle { left: 58%; bottom: -18%; height: 126%; }
  .label-demo-label { left: 58%; bottom: -8%; height: 82%; }
  .hero-product-image { width: 112%; max-height: 110%; }
  .product-slider-controls { right: 18px; bottom: 10px; left: 18px; padding: 0; }
  .slider-dots { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .slider-dot { min-height: 30px; padding: 4px; }
  .slider-dot > small { font-size: .54rem; }
  .structure-preview + .floating-whatsapp { bottom: 85px; }
}

/* Product depth: closer composition with restrained multi-layer parallax. */
@media (min-width: 921px) {
  .product-slide {
    grid-template-columns: minmax(455px, .94fr) minmax(500px, 1.06fr);
    gap: 0;
  }

  .product-slide-copy {
    max-width: 580px;
    transform: translate3d(var(--parallax-copy-x, 0px), var(--parallax-copy-y, 0px), 0);
    transition: transform .16s ease-out;
  }

  .product-slide-visual { margin-left: -160px; }
}

.structure-preview .product-slider .cinematic-grid {
  transform: translate3d(var(--parallax-back-x, 0px), var(--parallax-back-y, 0px), 0) scale(1.04);
  transition: transform .18s ease-out;
}

.product-slide-visual::after {
  transform: translate3d(var(--parallax-mid-x, 0px), var(--parallax-mid-y, 0px), 0);
  transition: transform .18s ease-out;
}

.product-slide-visual::before {
  transform: translate3d(var(--parallax-ring-x, 0px), var(--parallax-ring-y, 0px), 0) rotate(-9deg);
  transition: transform .16s ease-out;
}

.label-application-demo {
  inset: 4% 8% 4% -12%;
  transform: translate3d(var(--parallax-product-x, 0px), var(--parallax-product-y, 0px), 0) rotate(5deg) scale(1.025);
  transition: transform .12s ease-out;
}

.label-demo-bottle {
  left: 42%;
  bottom: -4%;
  height: 110%;
}

.label-demo-label {
  left: 42%;
  bottom: 4%;
  height: 72%;
}

.label-demo-detail {
  position: absolute;
  z-index: 0;
  top: -13%;
  right: -24%;
  display: block;
  width: auto;
  height: 126%;
  object-fit: contain;
  opacity: 0;
  filter: saturate(.75);
  mix-blend-mode: multiply;
  pointer-events: none;
  transform: translate3d(var(--parallax-ring-x, 0px), var(--parallax-ring-y, 0px), 0) rotate(9deg);
}

.product-slide.is-active .label-demo-detail {
  animation: label-detail-reveal .9s ease 1.65s both;
}

@keyframes label-detail-reveal {
  from { opacity: 0; }
  to { opacity: .105; }
}

.product-slide.is-active .hero-product-image {
  transform: translate3d(calc(-50% + var(--parallax-image-x, 0px)), var(--parallax-image-y, 0px), 0) scale(1);
}

@media (max-width: 920px) {
  .product-slide-copy { transform: none; }
  .label-demo-bottle { left: 50%; bottom: -4%; height: 106%; }
  .label-demo-label { left: 50%; bottom: 4%; height: 69%; }
  .label-demo-detail { right: -30%; height: 112%; }
}

@media (max-width: 650px) {
  .label-application-demo {
    transform: translate3d(var(--parallax-mobile-x, 0px), var(--parallax-mobile-y, 0px), 0) rotate(4deg);
  }
  .label-demo-bottle { left: 50%; bottom: -3%; height: 104%; }
  .label-demo-label { left: 50%; bottom: 5%; height: 68%; }
  .label-demo-detail { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .structure-preview .cinematic-grid,
  .product-slide-copy,
  .product-slide-visual::before,
  .product-slide-visual::after,
  .label-application-demo,
  .label-demo-detail { transform: none !important; transition: none !important; }
}

/* Matched photographic pair: clean bottle followed by the labeled version. */
.label-application-demo {
  inset: -14% -13% -12% -18%;
}

.label-demo-bottle,
.label-demo-labeled,
.label-demo-final {
  position: absolute;
  top: 66%;
  left: 58%;
  bottom: auto;
  display: block;
  width: 78%;
  height: auto;
  max-width: none;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  will-change: transform, opacity, clip-path;
}

.label-demo-bottle {
  opacity: 0;
  filter: drop-shadow(0 30px 32px rgba(6,31,60,.2));
  transform: translate3d(-50%, -44%, 0) scale(.94);
}

.label-demo-labeled {
  z-index: 3;
  top: 66%;
  left: 58%;
  width: 78%;
  opacity: 0;
  clip-path: none;
  filter: drop-shadow(0 30px 32px rgba(6,31,60,.2));
  transform: translate3d(-50%, -50%, 0) scale(1);
}

.product-slide.is-active .label-demo-bottle {
  animation: bottle-pair-arrival .78s cubic-bezier(.2,.75,.25,1) .08s both;
}

.product-slide.is-active .label-demo-labeled {
  animation: bottle-sequence-middle 1.28s ease .78s both;
}

.label-demo-final {
  z-index: 3;
  opacity: 0;
  filter: drop-shadow(0 30px 32px rgba(6,31,60,.2));
  transform: translate3d(-50%, -50%, 0) scale(1);
}

.product-slide.is-active .label-demo-final {
  animation: bottle-final-lock .42s ease 1.7s both;
}

.label-demo-detail { display: none !important; }

@keyframes bottle-pair-arrival {
  to { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
}

@keyframes bottle-sequence-middle {
  0% { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(.992); }
  20% { opacity: 1; }
  64% { opacity: 1; transform: translate3d(-50%, -50%, 0) scale(1); }
  100% { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(1.004); }
}

@keyframes bottle-final-lock {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 920px) {
  .label-application-demo { inset: -7% -11% -12%; }
  .label-demo-bottle,
  .label-demo-final { left: 50%; width: 88%; }
  .label-demo-labeled { top: 66%; left: 50%; width: 88%; }
}

@media (max-width: 650px) {
  .label-application-demo { inset: -4% -10% -16%; }
  .label-demo-bottle,
  .label-demo-final { width: 94%; }
  .label-demo-labeled { width: 94%; }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide.is-active .label-demo-bottle,
  .product-slide.is-active .label-demo-final {
    opacity: 1;
    animation: none;
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
  .product-slide.is-active .label-demo-labeled { display: none; }
}

/* Refined SIMARC typography: modern, technical and highly legible. */
.home-page.structure-preview,
.home-page.structure-preview button,
.home-page.structure-preview input,
.home-page.structure-preview select,
.home-page.structure-preview textarea {
  font-family: Aptos, "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif;
}

.home-page.structure-preview .header-nav a,
.home-page.structure-preview .header-cta,
.product-slide-copy > .product-slide-kicker,
.product-slide-copy > .product-slide-strapline,
.product-slide-copy > .product-slide-description,
.structure-preview .product-slider .premium-button,
.slider-dot > small {
  font-family: Aptos, "Segoe UI Variable Text", "Segoe UI", Helvetica, Arial, sans-serif;
}

.product-slide-copy h2 {
  max-width: 620px;
  margin-bottom: 18px;
  font-family: "Segoe UI Variable Display", "Aptos Display", Aptos, "Segoe UI", Arial, sans-serif;
  font-size: clamp(4.6rem, 6.7vw, 7.45rem);
  font-style: normal;
  font-weight: 760;
  line-height: .86;
  letter-spacing: -.062em;
}

.product-slide-copy > .product-slide-kicker {
  margin-bottom: 18px;
  font-size: .7rem;
  font-weight: 760;
  letter-spacing: .17em;
}

.product-slide-copy > .product-slide-strapline {
  margin-bottom: 13px;
  font-size: clamp(1.03rem, 1.35vw, 1.28rem);
  font-weight: 650;
  letter-spacing: .025em;
}

.product-slide-copy > .product-slide-description {
  max-width: 520px;
  margin-bottom: 25px;
  font-size: 1.01rem;
  font-weight: 400;
  line-height: 1.62;
  letter-spacing: -.006em;
}

.home-page.structure-preview .header-nav a { font-size: .92rem; font-weight: 650; }
.home-page.structure-preview .header-cta,
.structure-preview .product-slider .premium-button { font-weight: 700; letter-spacing: -.01em; }
.slider-dot > small { font-weight: 620; letter-spacing: .005em; }

@media (max-width: 650px) {
  .product-slide-copy h2 {
    font-size: clamp(3.25rem, 15vw, 4.35rem);
    line-height: .88;
  }
}

/* Continuous Etival-style application: the bottle stays fixed while the label travels. */
.label-application-demo {
  inset: -14% -13% -12% -18%;
}

.label-demo-canvas {
  position: absolute;
  top: 66%;
  left: 58%;
  width: 78%;
  aspect-ratio: 1;
  transform: translate3d(-50%, -50%, 0);
}

.label-demo-canvas .label-demo-bottle,
.label-demo-canvas .label-demo-final {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  transform: none;
  filter: drop-shadow(0 30px 32px rgba(6,31,60,.2));
  will-change: opacity, transform;
}

.label-demo-canvas .label-demo-bottle { z-index: 2; }

.label-demo-canvas .label-demo-labeled {
  position: absolute;
  z-index: 4;
  top: 52.5%;
  left: 51.5%;
  display: block;
  width: 67%;
  height: auto;
  max-width: none;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 16px 18px rgba(6,31,60,.16));
  transform: translate3d(calc(-50% - 430px), calc(-50% - 82px), 0) rotate(-4deg) scale(.9);
  transform-origin: 54% 54%;
  will-change: opacity, transform;
}

.label-demo-canvas .label-demo-final {
  z-index: 5;
}

.product-slide.is-active .label-demo-canvas .label-demo-bottle {
  animation: smooth-bottle-arrival .72s cubic-bezier(.2,.75,.25,1) .06s both;
}

.product-slide.is-active .label-demo-canvas .label-demo-labeled {
  animation: smooth-label-application 2.35s cubic-bezier(.18,.72,.16,1) .62s both;
}

.product-slide.is-active .label-demo-canvas .label-demo-final {
  animation: smooth-final-lock .2s ease 2.88s both;
}

@keyframes smooth-bottle-arrival {
  from { opacity: 0; transform: translate3d(22px, 24px, 0) scale(.965); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes smooth-label-application {
  0% {
    opacity: 0;
    transform: translate3d(calc(-50% - 430px), calc(-50% - 82px), 0) rotate(-4deg) scale(.9);
  }
  10% { opacity: 1; }
  55% {
    opacity: 1;
    transform: translate3d(calc(-50% - 138px), calc(-50% - 32px), 0) rotate(-1.5deg) scale(.97);
  }
  88% {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0) rotate(0) scale(1);
  }
  94% {
    opacity: 1;
    transform: translate3d(-50%, -50%, 0) rotate(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) rotate(0) scale(1);
  }
}

@keyframes smooth-final-lock {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 920px) {
  .label-application-demo { inset: -7% -11% -12%; }
  .label-demo-canvas { left: 50%; width: 88%; }
  .label-demo-canvas .label-demo-labeled { width: 67%; }
}

@media (max-width: 650px) {
  .label-application-demo { inset: -4% -10% -16%; }
  .label-demo-canvas { width: 94%; }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide.is-active .label-demo-canvas .label-demo-bottle,
  .product-slide.is-active .label-demo-canvas .label-demo-final {
    opacity: 1;
    animation: none;
    transform: none;
  }

  .product-slide.is-active .label-demo-canvas .label-demo-labeled {
    display: none;
  }
}

/* Exact photographic layer: the moving label is cut from the final bottle image. */
.label-demo-canvas .label-demo-bottle {
  opacity: 1;
  animation: none;
  transform: none;
}

.label-demo-canvas .label-demo-labeled {
  position: absolute;
  z-index: 4;
  inset: 0;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  opacity: 0;
  clip-path: polygon(
    54% 21.5%,
    74.5% 22.8%,
    80.5% 26.5%,
    80.8% 35%,
    67.5% 81.5%,
    63.7% 87%,
    51% 86.5%,
    29.2% 81.5%,
    30.5% 72%,
    49% 27.5%
  );
  filter: drop-shadow(0 14px 16px rgba(6,31,60,.18));
  transform: translate3d(-360px, 34px, 0) rotate(-4deg) scale(.94);
  transform-origin: 56% 55%;
  will-change: opacity, transform;
}

.product-slide.is-active .label-demo-canvas .label-demo-bottle {
  animation: exact-bottle-arrival .7s cubic-bezier(.2,.75,.25,1) .06s both;
}

.product-slide.is-active .label-demo-canvas .label-demo-labeled {
  animation: exact-label-slide 2.25s cubic-bezier(.18,.76,.16,1) .68s both;
}

@keyframes exact-bottle-arrival {
  from { opacity: 0; transform: translate3d(18px, 20px, 0) scale(.97); }
  to { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes exact-label-slide {
  0% {
    opacity: 0;
    transform: translate3d(-360px, 34px, 0) rotate(-4deg) scale(.94);
  }
  9% { opacity: 1; }
  58% {
    opacity: 1;
    transform: translate3d(-105px, 10px, 0) rotate(-1deg) scale(.985);
  }
  86% {
    opacity: 1;
    transform: translate3d(-15px, 1px, 0) rotate(-.12deg) scale(.998);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide.is-active .label-demo-canvas .label-demo-bottle,
  .product-slide.is-active .label-demo-canvas .label-demo-labeled {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

/* Final application pass: a clean loose label travels, then conforms to the exact bottle artwork. */
.label-demo-canvas .label-demo-loose {
  position: absolute;
  z-index: 4;
  top: 52.5%;
  left: 51.5%;
  display: block;
  width: 67%;
  height: auto;
  max-width: none;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 16px 18px rgba(6,31,60,.16));
  transform: translate3d(calc(-50% - 390px), calc(-50% - 62px), 0) rotate(-4deg) scale(.92);
  transform-origin: 54% 54%;
  will-change: opacity, transform;
}

.label-demo-canvas .label-demo-labeled {
  opacity: 0;
  clip-path: polygon(
    54% 21.5%,
    74.5% 22.8%,
    80.5% 26.5%,
    82.5% 35%,
    70% 83%,
    67.5% 91%,
    63% 94%,
    48% 92.5%,
    27% 86%,
    27.5% 78%,
    30.5% 68%,
    49% 27.5%
  );
  transform: translate3d(-20px, 2px, 0) scale(.998);
}

.product-slide.is-active .label-demo-canvas .label-demo-loose {
  animation: loose-label-wrap 2.35s cubic-bezier(.18,.76,.16,1) .66s both;
}

.product-slide.is-active .label-demo-canvas .label-demo-labeled {
  animation: applied-label-settle .46s cubic-bezier(.2,.8,.2,1) 2.55s both;
}

@keyframes loose-label-wrap {
  0% {
    opacity: 0;
    transform: translate3d(calc(-50% - 250px), calc(-50% - 42px), 0) rotate(-3deg) scale(.88);
  }
  10% { opacity: 1; }
  58% {
    opacity: 1;
    transform: translate3d(calc(-50% - 88px), calc(-50% - 20px), 0) rotate(-1deg) scale(.975);
  }
  84% {
    opacity: 1;
    transform: translate3d(calc(-50% - 18px), calc(-50% - 3px), 0) rotate(-.12deg) scale(.998);
  }
  100% {
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) rotate(0) scale(1);
  }
}

@keyframes applied-label-settle {
  0% { opacity: 0; transform: translate3d(-20px, 2px, 0) scale(.998); }
  100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
}

@media (max-width: 920px) {
  .label-demo-canvas .label-demo-loose { width: 67%; }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide.is-active .label-demo-canvas .label-demo-loose { display: none; }
  .product-slide.is-active .label-demo-canvas .label-demo-labeled {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

/* Single transparent label layer drawn from the exact final artwork. */
.label-demo-canvas .label-demo-applied {
  position: absolute;
  z-index: 4;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 15px 16px rgba(6,31,60,.16));
  transform: translate3d(-310px, 30px, 0) rotate(-2.8deg) scale(.92);
  transform-origin: 56% 55%;
  will-change: opacity, transform;
}

.product-slide.is-active .label-demo-canvas .label-demo-applied.is-ready {
  animation: canvas-label-application 2.8s cubic-bezier(.22,.55,.2,1) .45s both;
}

@keyframes canvas-label-application {
  0% {
    opacity: 0;
    transform: translate3d(-310px, 30px, 0) rotate(-2.8deg) scale(.92);
  }
  12% { opacity: 1; }
  50% {
    opacity: 1;
    transform: translate3d(-150px, 15px, 0) rotate(-1.1deg) scale(.972);
  }
  80% {
    opacity: 1;
    transform: translate3d(-44px, 4px, 0) rotate(-.2deg) scale(.994);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .product-slide.is-active .label-demo-canvas .label-demo-applied.is-ready {
    opacity: 1;
    animation: none;
    transform: none;
  }
}

/* Carrusel editorial: lectura limpia y fotografía protagonista. */
.home-page.structure-preview {
  background: #ffffff;
}

.structure-preview .product-slider {
  --current-accent: var(--structure-gold);
  color: var(--structure-navy);
  background:
    radial-gradient(circle at 88% 15%, rgba(230, 189, 56, .17), transparent 22%),
    linear-gradient(90deg, #ffffff 0%, #ffffff 43%, #f7f9fb 100%);
}

.structure-preview .product-slider .cinematic-grid {
  opacity: .035;
  mask-image: linear-gradient(90deg, transparent 0%, transparent 43%, #000 68%, transparent 100%);
}

@media (min-width: 921px) {
  .structure-preview .product-slider {
    padding: clamp(54px, 7vh, 86px) clamp(48px, 5.4vw, 88px) 104px;
  }

  .structure-preview .product-slider .product-slide {
    grid-template-columns: minmax(380px, .77fr) minmax(560px, 1.23fr);
    gap: clamp(34px, 5vw, 88px);
  }

  .structure-preview .product-slide-copy {
    max-width: 510px;
    padding: 0 0 14px;
  }

  .structure-preview .product-slide-visual {
    min-height: 470px;
    margin-left: 0;
  }
}

.product-slide-copy > .product-slide-kicker {
  margin: 0 0 19px;
  padding: 0;
  color: #4b6c8f;
  background: transparent;
  border: 0;
  font-size: .74rem;
  font-weight: 760;
  letter-spacing: .16em;
}

.product-slide-copy h2 {
  max-width: 560px;
  margin: 0 0 16px;
  color: #071b34;
  font-size: clamp(3.45rem, 5.25vw, 6.35rem);
  font-weight: 740;
  line-height: .91;
  letter-spacing: -.052em;
}

.product-slide-copy > .product-slide-strapline {
  margin: 0 0 13px;
  color: #0b2442;
  font-size: clamp(1rem, 1.22vw, 1.17rem);
  font-weight: 720;
  letter-spacing: .01em;
}

.product-slide-copy > .product-slide-description {
  max-width: 460px;
  margin: 0 0 26px;
  color: #66788e;
  font-size: .98rem;
  font-weight: 430;
  line-height: 1.6;
  letter-spacing: 0;
}

.structure-preview .product-slider .premium-button {
  min-height: 50px;
  padding: 13px 20px;
  color: #ffffff;
  background: #071b34;
  border-color: #071b34;
  border-radius: 4px;
  box-shadow: none;
}

.structure-preview .product-slider .premium-button:hover {
  color: #071b34;
  background: var(--structure-gold);
  border-color: var(--structure-gold);
}

.product-slide-visual::after {
  inset: 0 -8% 0 2%;
  border-radius: 0;
  background:
    radial-gradient(circle at 75% 21%, color-mix(in srgb, var(--slide-accent), #ffffff 62%), transparent 28%),
    linear-gradient(135deg, #f7f9fb 0%, #eef3f7 100%);
  box-shadow: none;
}

.product-slide-visual::before {
  inset: 8% 2% 5% 5%;
  border-color: color-mix(in srgb, var(--slide-accent), transparent 62%);
  border-radius: 50%;
  background: transparent;
}

.product-slide-number {
  right: -3%;
  bottom: -4%;
  -webkit-text-stroke-color: rgba(7, 27, 52, .06);
}

.hero-product-image {
  left: 54%;
  bottom: 0;
  width: 108%;
  max-height: 106%;
  filter: drop-shadow(0 20px 26px rgba(7, 27, 52, .17));
}

.product-slide--marca-precio .hero-product-image { width: 118%; }
.product-slide--impresoras-industriales .hero-product-image { width: 96%; max-height: 96%; }
.product-slide--soluciones-integrales .hero-product-image,
.product-slide--linerless .hero-product-image {
  width: 108%;
  height: 100%;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  opacity: .9;
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
}
.product-slide--brady .hero-product-image { width: 98%; max-height: 94%; border-radius: 0; box-shadow: none; }

.product-slider-controls {
  right: clamp(48px, 5.4vw, 88px);
  bottom: 26px;
  left: clamp(48px, 5.4vw, 88px);
  width: auto;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.slider-dots { gap: 0; }
.slider-dot {
  min-height: 44px;
  justify-content: center;
  padding: 8px 9px;
  color: rgba(7, 27, 52, .52);
  border: 0;
  border-bottom: 1px solid rgba(7, 27, 52, .16);
  border-radius: 0;
  text-align: center;
}
.slider-dot:hover { color: #071b34; background: rgba(7, 27, 52, .025); }
.slider-dot.is-active { color: #071b34; background: transparent; border-bottom: 3px solid var(--structure-gold); }
.slider-dot > small { font-size: .7rem; font-weight: 650; letter-spacing: .005em; }

@media (max-width: 920px) {
  .structure-preview .product-slider { background: linear-gradient(180deg, #ffffff 0%, #f4f7fa 100%); }
  .product-slide-copy { padding-bottom: 0; }
  .product-slide-copy h2 { font-size: clamp(3.35rem, 12.5vw, 5.2rem); }
  .product-slide-visual::after { inset: 0 -10% -8%; }
  .product-slider-controls { right: 20px; left: 20px; }
}

@media (max-width: 650px) {
  .product-slide-copy > .product-slide-kicker { font-size: .62rem; }
  .product-slide-copy h2 { font-size: clamp(3rem, 14vw, 4.25rem); line-height: .92; }
  .product-slide-copy > .product-slide-description { font-size: .88rem; line-height: 1.5; }
  .structure-preview .product-slider .premium-button { min-height: 46px; }
  .product-slider-controls { right: 18px; left: 18px; }
}

/* Composición de producto: color claro, tipografía amplia y recortes contenidos. */
.structure-preview .product-slider {
  background: #edf5f7;
}

.product-slide--etiquetas-industriales { --slide-wash: #dff3f5; }
.product-slide--marca-precio { --slide-wash: #fff1bd; }
.product-slide--impresoras-industriales { --slide-wash: #dceaf3; }
.product-slide--soluciones-integrales { --slide-wash: #e3edf8; }
.product-slide--linerless { --slide-wash: #dff3e8; }
.product-slide--brady { --slide-wash: #f5e6b4; }

.product-slide-copy h2 {
  max-width: 590px;
  font-size: clamp(4.15rem, 6.25vw, 7.35rem);
  line-height: .88;
  letter-spacing: -.06em;
}

.product-slide-copy > .product-slide-strapline {
  font-size: clamp(1.03rem, 1.32vw, 1.28rem);
}

.product-slide-copy > .product-slide-description {
  max-width: 480px;
  font-size: 1.03rem;
  line-height: 1.55;
}

.product-slide-visual {
  overflow: hidden;
  isolation: isolate;
}

.product-slide-visual::after {
  inset: 0;
  background:
    radial-gradient(circle at 82% 13%, rgba(255, 255, 255, .72), transparent 27%),
    radial-gradient(circle at 18% 89%, rgba(255, 255, 255, .46), transparent 31%),
    var(--slide-wash, #dff3f5);
}

.product-slide-visual::before {
  inset: 7% 3% 5% 4%;
  border-color: color-mix(in srgb, var(--slide-accent), transparent 45%);
}

.product-slide--etiquetas-industriales .label-application-demo {
  inset: 0;
  overflow: hidden;
}

.product-slide--etiquetas-industriales .label-demo-canvas {
  top: 52%;
  left: 62%;
  width: min(76%, 500px);
}

.product-slide--etiquetas-industriales .label-demo-canvas .label-demo-bottle {
  filter: drop-shadow(0 22px 22px rgba(7, 27, 52, .18));
}

.product-slide--etiquetas-industriales .label-demo-canvas .label-demo-applied {
  filter: drop-shadow(0 10px 13px rgba(7, 27, 52, .14));
}

.product-slide--marca-precio .hero-product-image,
.product-slide--impresoras-industriales .hero-product-image,
.product-slide--brady .hero-product-image {
  max-width: 94%;
  max-height: 90%;
}

.product-slide--soluciones-integrales .hero-product-image,
.product-slide--linerless .hero-product-image {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: cover;
  opacity: .96;
  mask-image: none;
}

@media (min-width: 921px) {
  .structure-preview .product-slider .product-slide {
    grid-template-columns: minmax(420px, .83fr) minmax(560px, 1.17fr);
    gap: clamp(32px, 4.2vw, 66px);
  }

  .structure-preview .product-slide-copy {
    max-width: 570px;
  }
}

@media (max-width: 920px) {
  .product-slide-copy h2 { font-size: clamp(3.7rem, 13.5vw, 6.15rem); }
  .product-slide--etiquetas-industriales .label-demo-canvas { left: 58%; width: min(84%, 480px); }
}

@media (max-width: 650px) {
  .product-slide-copy h2 { font-size: clamp(3.35rem, 15vw, 4.85rem); }
  .product-slide-copy > .product-slide-description { font-size: .91rem; }
  .product-slide--etiquetas-industriales .label-demo-canvas { left: 58%; width: 86%; }
}

/* Evita que el texto del slide saliente se mezcle con el siguiente. */
.product-slide:not(.is-active) {
  visibility: hidden;
  transition: none;
}

.product-slide.is-active {
  transition: opacity .42s var(--premium-ease), transform .52s var(--premium-ease);
}
