*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

/* Evita que las composiciones anchas desplacen toda la pagina en movil. */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.sublimacion-section{
  position:relative;
  width:100%;
  height:760px;
  overflow:hidden;
  background:#111;
  font-family:Arial, Helvetica, sans-serif;
}

/* todas las imagenes */
.sublimacion-section img{
  display:block;
  max-width:none;
}

/* fondo */
.bg-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}

.bg-dark{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:2;
}

/* curvas */
.curva{
  position:absolute;
  top:78px;
  left:760px;
  height:760px;
  width:auto;
  z-index:3;
  pointer-events:none;
}

.curva1{ left:760px; opacity:.70; }
.curva2{ left:805px; opacity:.55; }
.curva3{ left:850px; opacity:.42; }

/* cabecera izquierda */
.hero-copy-box{
  position:absolute;
  top:118px;
  left:26px;
  width:430px;
  padding:22px 22px 0 22px;
  color:#fff;
  z-index:5;
}

.hero-kicker{
  display:block;
  margin:0 0 8px;
  color:#ffffff;
  font-size:28px;
  font-weight:800;
  letter-spacing:.01em;
  text-transform:uppercase;
}

.hero-title{
  margin:0 0 24px;
  font-size:66px;
  line-height:.92;
  font-weight:900;
  letter-spacing:-.06em;
  text-transform:uppercase;
  color:#a8ff00;
  text-shadow:none;
}

.hero-lead{
  margin:0;
  max-width:390px;
  font-size:13px;
  line-height:1.5;
  font-weight:500;
  text-shadow:none;
}

.hero-lead--secondary{
  margin-top:18px;
}

.hero-copy-box .btn-trabajos{
  position:relative;
  left:auto;
  bottom:auto;
  display:inline-flex;
  margin-top:28px;
}

/* impresora */
.impresora-img{
  position:absolute;
  top:-26px;
  right:-40px;
  width:1170px;
  height:auto;
  z-index:4;
}

/* papel */
.papel-img{
  position:absolute;
  top:285px;
  left:960px;
  width:700px;
  height:auto;
  z-index:4;
}

/* texto derecho */
.texto-derecho{
  position:absolute;
  top:310px;
  right:42px;
  width:330px;
  text-align:right;
  color:#fff;
  z-index:6;
}

.texto-derecho h3{
  font-size:34px;
  line-height:1;
  font-weight:900;
}

.texto-derecho p{
  font-size:13px;
  font-weight:700;
  margin-top:4px;
}

.texto-derecho span{
  display:block;
  font-size:13px;
  font-weight:700;
  margin-top:3px;
}

/* muestras en bloque */
.muestras-wrap{
  position:absolute;
  top:445px;
  left:1015px;
  width:636px;
  overflow:hidden;
  z-index:6;
}

.muestras-track{
  --m-gap:18px;
  display:flex;
  gap:var(--m-gap);
  width:max-content;
  animation:cintaMuestras 18s linear infinite;
}

.muestra{
  width:200px;
  height:120px;
  object-fit:cover;
  flex:0 0 auto;
  box-shadow:0 8px 18px rgba(0,0,0,.30);
}

.texto-muestras{
  position:absolute;
  right:45px;
  bottom:110px;
  color:rgba(255,255,255,.40);
  font-size:34px;
  font-weight:900;
  z-index:6;
}

/* boton */
.btn-trabajos{
  position:absolute;
  left:1180px;
  bottom:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:168px;
  height:56px;
  padding:0 20px;
  border-radius:22px;
  text-decoration:none;
  background:rgba(35,35,35,.92);
  color:#b7ff00;
  font-weight:900;
  font-size:20px;
  border:0;
  box-shadow:none;
  z-index:7;
  overflow:visible;
  transition:box-shadow .25s ease, filter .25s ease;
}

.btn-trabajos::before{
  content:"";
  position:absolute;
  inset:-11px;
  padding:3px;
  border-radius:31px;
  background:linear-gradient(120deg, #00eaff 0%, #ff31d7 48%, #fff000 100%);
  opacity:0;
  z-index:-1;
  transition:opacity .25s ease, transform .25s ease;
  transform:scale(.94);
  pointer-events:none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}

/* barra */
.bottom-gradient{
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:16px;
  background:linear-gradient(
    to right,
    #00f5ff 0%,
    #54a9ff 16%,
    #8c61ff 34%,
    #ff00ef 56%,
    #ff5da9 74%,
    #ff8b2a 88%,
    #ffee00 100%
  );
  z-index:8;
}

/* laptops */
@media (max-width:1600px){
  .sublimacion-section{
    height:640px;
  }

  .hero-copy-box{
    top:100px;
    left:22px;
    width:360px;
    padding:18px 18px 0 18px;
  }

  .hero-kicker{
    font-size:22px;
  }

  .hero-title{
    margin-bottom:14px;
    font-size:56px;
  }

  .hero-lead{
    max-width:330px;
    font-size:12px;
    line-height:1.46;
  }

  .hero-copy-box .btn-trabajos{
    margin-top:24px;
  }

  .impresora-img{
    width:980px;
    top:-22px;
    right:-52px;
  }

  .papel-img{
    width:560px;
    top:260px;
    left:780px;
  }

  .curva{
    top:75px;
    height:650px;
  }

  .curva1{ left:620px; }
  .curva2{ left:660px; }
  .curva3{ left:700px; }

  .texto-derecho{
    top:280px;
    right:30px;
    width:270px;
  }

  .texto-derecho h3{ font-size:26px; }
  .texto-derecho p,
  .texto-derecho span{ font-size:11px; }

  .muestras-wrap{
    top:380px;
    left:835px;
    width:493px;
  }

  .muestras-track{
    --m-gap:14px;
  }

  .muestra{
    width:155px;
    height:95px;
  }

  .texto-muestras{
    right:28px;
    bottom:95px;
    font-size:26px;
  }

  .btn-trabajos{
    left:960px;
    bottom:54px;
    min-width:150px;
    height:48px;
    font-size:17px;
  }
}

/* tablet */
@media (max-width:991px){
  .sublimacion-section{
    height:900px;
  }

  .curva{
    display:none;
  }

  .hero-copy-box{
    top:58px;
    left:22px;
    width:min(92%, 340px);
    padding:16px 16px 0 16px;
  }

  .hero-kicker{
    margin-bottom:6px;
    font-size:18px;
  }

  .hero-title{
    margin-bottom:16px;
    font-size:46px;
  }

  .hero-lead{
    max-width:none;
    font-size:12px;
    line-height:1.45;
  }

  .hero-copy-box .btn-trabajos{
    margin-top:22px;
  }

  .impresora-img{
    width:102%;
    top:278px;
    right:-1%;
  }

  .papel-img{
    width:62%;
    top:470px;
    left:36%;
  }

  .texto-derecho{
    top:315px;
    right:22px;
    width:220px;
  }

  .muestras-wrap{
    left:50%;
    transform:translateX(-50%);
    top:auto;
    bottom:150px;
    width:474px;
  }

  .muestras-track{
    --m-gap:12px;
  }

  .muestra{
    width:150px;
    height:90px;
  }

  .texto-muestras{
    right:20px;
    bottom:110px;
    font-size:24px;
  }

  .btn-trabajos{
    left:auto;
    transform:none;
    bottom:56px;
    min-width:160px;
    height:50px;
    font-size:18px;
  }
}

/* movil */
@media (max-width:600px){
  .sublimacion-section{
    width:100%;
    max-width:100%;
    margin:0;
    height:760px;
    overflow:hidden;
  }

  .sublimacion-section .bg-img,
  .sublimacion-section .bg-dark,
  .sublimacion-section .bottom-gradient{
    left:0;
    right:0;
    width:100%;
    max-width:100%;
  }

  .hero-copy-box{
    top:40px;
    left:12px;
    width:calc(100% - 24px);
    max-width:272px;
    padding:14px 14px 0 14px;
  }

  .hero-kicker{
    margin-bottom:4px;
    font-size:13px;
  }

  .hero-title{
    margin-bottom:14px;
    font-size:38px;
  }

  .hero-lead{
    font-size:11px;
    line-height:1.44;
  }

  .hero-copy-box .btn-trabajos{
    margin-top:18px;
  }

  .texto-derecho{
    top:255px;
    right:12px;
    width:170px;
  }

  .texto-derecho h3{
    font-size:18px;
  }

  .texto-derecho p,
  .texto-derecho span{
    font-size:8px;
  }

  .impresora-img{
    width:108%;
    top:296px;
    right:-4%;
  }

  .papel-img{
    width:70%;
    top:445px;
    left:28%;
  }

  .muestras-wrap{
    width:100%;
    max-width:100%;
    left:0;
    right:0;
    transform:none;
    bottom:120px;
    overflow:hidden;
  }

  .muestras-track{
    --m-gap:8px;
    padding:0 10px;
  }

  .muestra{
    width:30%;
    height:72px;
  }

  .texto-muestras{
    right:12px;
    bottom:86px;
    font-size:18px;
  }

  .btn-trabajos{
    min-width:142px;
    height:46px;
    font-size:15px;
    bottom:48px;
  }
}

.btn-trabajos:hover{
  filter:brightness(1.06);
}

.btn-trabajos:hover::before{
  opacity:1;
  transform:scale(1);
}

@keyframes cintaMuestras{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(calc(-50% - (var(--m-gap) / 2)));
  }
}

.sublimacion-info{
  position:relative;
  width:100%;
  padding:54px 0 28px;
  background:#ffffff;
  color:#111111;
}

.sublimacion-info__inner{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(420px, 1.08fr) minmax(300px, .82fr);
  gap:72px;
  align-items:center;
}

.inclined-slider{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.inclined-slider__stage{
  position:relative;
  width:100%;
  max-width:560px;
  height:420px;
  overflow:visible;
}

.inclined-slider__panel{
  position:absolute;
  top:0;
  bottom:0;
  width:42%;
  transform:skewX(-12deg);
  transform-origin:center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.04)),
    #d8d8d8;
  box-shadow:0 16px 30px rgba(0,0,0,.04);
  overflow:visible;
  cursor:pointer;
  transition:width .34s ease, transform .34s ease, filter .34s ease;
}

.inclined-slider__panel::before{
  content:"";
  position:absolute;
  top:22px;
  bottom:22px;
  left:-34px;
  width:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  box-shadow:0 18px 30px rgba(0,0,0,.16);
  border:1px solid rgba(255,255,255,.62);
  opacity:.96;
  z-index:2;
  transition:top .34s ease, bottom .34s ease, left .34s ease, width .34s ease,
             opacity .34s ease, background-size .34s ease, background-color .34s ease,
             transform .28s ease, box-shadow .28s ease;
  transform-origin:center;
}

.inclined-slider__panel::after{
  content:"";
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.18;
  filter:grayscale(1);
}

.inclined-slider__panel--one{
  left:8%;
  z-index:4;
  --panel-image:url("../img/servicios/serv1-web.jpg");
}

.inclined-slider__panel--one::before,
.inclined-slider__panel--one::after{
  background-image:var(--panel-image);
}

.inclined-slider__panel--two{
  left:28%;
  z-index:3;
  background:#d3d3d3;
  --panel-image:url("../img/servicios/serv2-web.jpg");
}

.inclined-slider__panel--two::before,
.inclined-slider__panel--two::after{
  background-image:var(--panel-image);
}

.inclined-slider__panel--three{
  left:48%;
  z-index:2;
  background:#d0d0d0;
  --panel-image:url("../img/servicios/serv3.jpg");
}

.inclined-slider__panel--three::before,
.inclined-slider__panel--three::after{
  background-image:var(--panel-image);
}

.inclined-slider__panel--four{
  left:68%;
  z-index:1;
  background:#e1e1e1;
  --panel-image:url("../img/servicios/Impre.webp");
}

.inclined-slider__panel--four::before,
.inclined-slider__panel--four::after{
  background-image:var(--panel-image);
}

.inclined-slider__panel--two::before{
  top:16px;
  bottom:16px;
  left:-24px;
  opacity:.86;
}

.inclined-slider__panel--three::before{
  top:12px;
  bottom:12px;
  left:-16px;
  opacity:.72;
}

.inclined-slider__panel--four::before{
  top:8px;
  bottom:8px;
  left:-10px;
  opacity:.42;
}

.inclined-slider__stage.has-active .inclined-slider__panel{
  filter:saturate(.72);
}

.inclined-slider__stage.has-active .inclined-slider__panel.is-active{
  width:62%;
  transform:skewX(-12deg) scale(1.03);
  filter:none;
  z-index:9;
}

.inclined-slider__panel.is-active::before{
  top:0;
  bottom:0;
  left:-22px;
  width:calc(100% + 44px);
  background-color:#ffffff;
  background-size:contain;
  opacity:1;
}

@media (hover:hover) and (pointer:fine){
  .inclined-slider__panel:hover::before{
    transform:scale(1.06);
    box-shadow:0 22px 38px rgba(0,0,0,.22);
  }
}

.inclined-slider__panel:focus-visible::before{
  transform:scale(1.06);
  box-shadow:0 22px 38px rgba(0,0,0,.22);
}

.sublimacion-copy{
  max-width:410px;
}

.sublimacion-copy__eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  color:#111111;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.sublimacion-copy__eyebrow::after{
  content:"";
  flex:1;
  height:1px;
  background:#7f7f7f;
}

.sublimacion-copy__title{
  margin:0 0 18px;
  color:#121212;
  font-size:56px;
  line-height:.95;
  font-weight:900;
  text-transform:uppercase;
}

.sublimacion-copy__text{
  margin:0 0 18px;
  color:#131313;
  font-size:16px;
  line-height:1.42;
  font-weight:500;
}

.sublimacion-copy__features{
  margin-top:10px;
}

.sublimacion-copy__features h3{
  margin:0 0 14px;
  color:#111111;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}

.sublimacion-copy__features ul{
  margin:0;
  padding:0;
  list-style:none;
}

.sublimacion-copy__features li{
  margin-bottom:8px;
  color:#171717;
  font-size:16px;
  line-height:1.35;
  font-weight:500;
}

.btn-cotizacion{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:22px;
  min-width:168px;
  height:56px;
  padding:0 20px;
  border-radius:22px;
  background:rgba(35,35,35,.92);
  color:#b7ff00;
  text-decoration:none;
  font-size:20px;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
  border:0;
  box-shadow:none;
  z-index:7;
  overflow:visible;
  transition:box-shadow .25s ease, filter .25s ease;
}

.btn-cotizacion::before{
  content:"";
  position:absolute;
  inset:-11px;
  padding:3px;
  border-radius:31px;
  background:linear-gradient(120deg, #00eaff 0%, #ff31d7 48%, #fff000 100%);
  opacity:0;
  z-index:-1;
  transition:opacity .25s ease, transform .25s ease;
  transform:scale(.94);
  pointer-events:none;
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}

.btn-cotizacion:hover{
  filter:brightness(1.06);
}

.btn-cotizacion:hover::before{
  opacity:1;
  transform:scale(1);
}

@media (max-width:1200px){
  .sublimacion-info__inner{
    gap:48px;
    grid-template-columns:minmax(360px, 1fr) minmax(280px, .9fr);
  }

  .inclined-slider__stage{
    max-width:500px;
    height:380px;
  }

  .sublimacion-copy__title{
    font-size:48px;
  }

  .sublimacion-copy__text,
  .sublimacion-copy__features li{
    font-size:15px;
  }
}

@media (max-width:900px){
  .sublimacion-info{
    padding:42px 0 22px;
  }

  .sublimacion-info__inner{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:34px;
  }

  .sublimacion-copy{
    order:1;
    max-width:none;
  }

  .inclined-slider{
    order:2;
  }

  .inclined-slider__stage{
    height:320px;
  }
}

@media (max-width:640px){
  .inclined-slider__stage{
    height:250px;
  }

  .sublimacion-copy__title{
    font-size:40px;
  }

  .sublimacion-copy__text,
  .sublimacion-copy__features li{
    font-size:14px;
  }

  .btn-cotizacion{
    min-width:168px;
    height:50px;
    font-size:11px;
  }
}

.sublimacion-dark{
  position:relative;
  width:100%;
  background:#202833;
}

.sublimacion-dark__inner{
  width:min(1365px, 100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(320px, .78fr) minmax(420px, 1.22fr);
  align-items:stretch;
  overflow:hidden;
}

.sublimacion-dark__panel{
  position:relative;
  background:#343c47;
  overflow:hidden;
}

.sublimacion-dark__panel::after{
  content:"";
  position:absolute;
  top:-20px;
  right:-118px;
  width:236px;
  height:calc(100% + 40px);
  border-radius:50%;
  border:18px solid #0a1320;
}

.sublimacion-dark__content{
  position:relative;
  z-index:2;
  max-width:355px;
  padding:76px 28px 70px 46px;
  color:#ffffff;
}

.sublimacion-dark__eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.sublimacion-dark__eyebrow::after{
  content:"";
  flex:1;
  height:1px;
  background:rgba(255,255,255,.42);
}

.sublimacion-dark__title{
  margin:0 0 28px;
  font-size:56px;
  line-height:.95;
  font-weight:900;
  text-transform:uppercase;
}

.sublimacion-dark__features h3{
  margin:0 0 18px;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}

.sublimacion-dark__features ul{
  margin:0;
  padding:0;
  list-style:none;
}

.sublimacion-dark__features li{
  margin-bottom:8px;
  font-size:16px;
  line-height:1.4;
  font-weight:500;
}

.sublimacion-dark__content .btn-cotizacion{
  margin-top:26px;
}

.sublimacion-dark__visual{
  min-height:360px;
}

.sublimacion-dark__image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

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

  .sublimacion-dark__panel::after{
    top:auto;
    right:auto;
    left:-22px;
    bottom:-118px;
    width:calc(100% + 44px);
    height:210px;
  }

  .sublimacion-dark__content{
    max-width:none;
    padding:46px 22px 34px;
  }

  .sublimacion-dark__visual{
    min-height:280px;
  }
}

@media (max-width:640px){
  .sublimacion-dark__title{
    font-size:42px;
  }

  .sublimacion-dark__features li{
    font-size:14px;
  }

  .sublimacion-dark__content .btn-cotizacion{
    min-width:170px;
    font-size:11px;
  }
}

/*Bloque con Fondo Negro*/

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

.bloque-impresion{
  position:relative;
  width:100%;
  max-width:1365px;
  height:550px;
  margin:0 auto;
  overflow:hidden;
  background:#1f232b;
  font-family:Arial, Helvetica, sans-serif;
}

.bloque-impresion img{
  display:block;
  max-width:none;
}

/* fondo */
.imp-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}

.fondo-gris-texto{
  position:absolute;
  top:-72px;
  left:0;
  width:580px;
  height:calc(100% + 220px);
  background:#444b56;
  border-radius:0 56% 56% 0 / 0 50% 50% 0;
  opacity:.88;
  z-index:2;
}

/* impresora */
.bloque-impresion .impresora-img{
  position:absolute;
  top:-28px;
  right:0;
  width:auto;
  height:calc(100% + 56px);
  z-index:4;
}

/* contenido izquierdo */
.contenido-izquierdo{
  position:absolute;
  top:136px;
  left:50px;
  width:286px;
  color:#fff;
  z-index:5;
}

.mini-titulo{
  display:block;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.linea-titulo{
  width:182px;
  height:1px;
  background:rgba(255,255,255,.28);
  margin:8px 0 14px 0;
}

.titulo-principal{
  font-size:54px;
  line-height:.95;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:28px;
}

.sub-label{
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:14px;
}

.texto-descriptivo{
  font-size:14px;
  line-height:1.42;
  font-weight:500;
  color:#ffffff;
  max-width:250px;
}

/* responsive */
@media (max-width:1200px){
  .bloque-impresion{
    height:470px;
  }

  .fondo-gris-texto{
    top:-54px;
    width:488px;
    height:calc(100% + 176px);
  }

  .contenido-izquierdo{
    top:108px;
    left:40px;
    width:252px;
  }

  .mini-titulo{
    font-size:10px;
  }

  .linea-titulo{
    width:170px;
    margin:5px 0 10px 0;
  }

  .titulo-principal{
    font-size:46px;
  }

  .sub-label{
    font-size:12px;
  }

  .texto-descriptivo{
    font-size:13px;
    line-height:1.42;
    max-width:220px;
  }

  .bloque-impresion .impresora-img{
    top:-22px;
    right:0;
    width:auto;
    height:calc(100% + 44px);
  }
}

@media (max-width:991px){
  .bloque-impresion{
    height:760px;
  }

  .fondo-gris-texto{
    width:72%;
    height:310px;
    border-radius:0 42% 42% 0 / 0 48% 48% 0;
  }

  .contenido-izquierdo{
    top:45px;
    left:24px;
    width:88%;
    max-width:500px;
  }

  .titulo-principal{
    font-size:32px;
  }

  .texto-descriptivo{
    max-width:90%;
  }

  .bloque-impresion .impresora-img{
    width:92%;
    top:290px;
    right:0;
  }
}

@media (max-width:600px){
  .bloque-impresion{
    height:620px;
  }

  .fondo-gris-texto{
    height:265px;
    width:78%;
    border-radius:0 38% 38% 0 / 0 44% 44% 0;
  }

  .contenido-izquierdo{
    top:28px;
    left:16px;
    width:92%;
  }

  .mini-titulo{
    font-size:10px;
  }

  .linea-titulo{
    width:110px;
  }

  .titulo-principal{
    font-size:26px;
    margin-bottom:14px;
  }

  .sub-label{
    font-size:10px;
  }

  .texto-descriptivo{
    font-size:12px;
    line-height:1.45;
    max-width:95%;
  }

  .bloque-impresion .impresora-img{
    width:100%;
    top:270px;
    right:0;
  }
}
