/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Poppins","arguments":[{"subsets":["latin"],"weight":["400","500","600"],"display":"swap","preload":false,"variable":"--fs-poppins"}],"variableName":"poppins"} ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* devanagari */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/034d78ad42e9620c-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/fe0777f1195381cb-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/eafabf029ad39a43-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/db911767852bc875-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/f10b8e9d91f3edcb-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8888a3826f4a3af4-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/29e7bbdce9332268-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c3bc380753a8436c-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Poppins_74618c';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/0484562807a97172-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Poppins_Fallback_74618c';src: local("Arial");ascent-override: 92.33%;descent-override: 30.78%;line-gap-override: 8.79%;size-adjust: 113.73%
}.__className_74618c {font-family: '__Poppins_74618c', '__Poppins_Fallback_74618c';font-style: normal
}.__variable_74618c {--fs-poppins: '__Poppins_74618c', '__Poppins_Fallback_74618c'
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Cormorant_Garamond","arguments":[{"subsets":["latin"],"weight":["500","600"],"display":"swap","preload":false,"variable":"--fs-cormorant"}],"variableName":"cormorant"} ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/393d45a2251e223a-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/8715d2ed531152f4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/48410f3df60da620-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/7b89a4fd5e90ede0-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/393d45a2251e223a-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/8715d2ed531152f4-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/c48b38fe8bb532f3-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/48410f3df60da620-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Cormorant_Garamond_54560d';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/7b89a4fd5e90ede0-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Cormorant_Garamond_Fallback_54560d';src: local("Times New Roman");ascent-override: 94.99%;descent-override: 29.50%;line-gap-override: 0.00%;size-adjust: 97.27%
}.__className_54560d {font-family: '__Cormorant_Garamond_54560d', '__Cormorant_Garamond_Fallback_54560d';font-style: normal
}.__variable_54560d {--fs-cormorant: '__Cormorant_Garamond_54560d', '__Cormorant_Garamond_Fallback_54560d'
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Jost","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-jost"}],"variableName":"jost"} ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic */
@font-face {
  font-family: '__Jost_c57952';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/b8c37bb59076c047-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: '__Jost_c57952';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/5bbac197f803cc34-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Jost_c57952';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/9dd75fadc5b3df29-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Jost_Fallback_c57952';src: local("Arial");ascent-override: 111.66%;descent-override: 39.13%;line-gap-override: 0.00%;size-adjust: 95.83%
}.__className_c57952 {font-family: '__Jost_c57952', '__Jost_Fallback_c57952';font-style: normal
}.__variable_c57952 {--fs-jost: '__Jost_c57952', '__Jost_Fallback_c57952'
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Outfit","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-outfit"}],"variableName":"outfit"} ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* latin-ext */
@font-face {
  font-family: '__Outfit_86bc3c';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/98848575513c9742-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Outfit_86bc3c';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/7b0b24f36b1a6d0b-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Outfit_Fallback_86bc3c';src: local("Arial");ascent-override: 100.55%;descent-override: 26.14%;line-gap-override: 0.00%;size-adjust: 99.45%
}.__className_86bc3c {font-family: '__Outfit_86bc3c', '__Outfit_Fallback_86bc3c';font-style: normal
}.__variable_86bc3c {--fs-outfit: '__Outfit_86bc3c', '__Outfit_Fallback_86bc3c'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Archivo","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-archivo"}],"variableName":"archivo"} ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: '__Archivo_c5dd53';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/b06b356f834173cc-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Archivo_c5dd53';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/23d669af23d19c95-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Archivo_c5dd53';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/1a4aa50920b5315c-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Archivo_Fallback_c5dd53';src: local("Arial");ascent-override: 89.50%;descent-override: 21.41%;line-gap-override: 0.00%;size-adjust: 98.10%
}.__className_c5dd53 {font-family: '__Archivo_c5dd53', '__Archivo_Fallback_c5dd53';font-style: normal
}.__variable_c5dd53 {--fs-archivo: '__Archivo_c5dd53', '__Archivo_Fallback_c5dd53'
}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/blocks/bloques.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
/* Estilos propios de los bloques que Tailwind no resuelve con comodidad. */

/* ── Logos de clientes: gris al 70 % sobre claro, blanco al 70 % sobre oscuro ── */
.bloques_logo__UdJnU {
	filter: grayscale(1) contrast(1.1);
	opacity: 0.7;
	transition: opacity 0.2s ease;
}
.bloques_logo__UdJnU:hover {
	opacity: 1;
}
.fondo-noche .bloques_logo__UdJnU,
.fondo-negro .bloques_logo__UdJnU,
.fondo-superficie .bloques_logo__UdJnU,
.fondo-marca .bloques_logo__UdJnU {
	filter: brightness(0) invert(1);
}

/* ── Scroll horizontal sin barra ── */
.bloques_sinBarra__yoYBj {
	scrollbar-width: none;
}
.bloques_sinBarra__yoYBj::-webkit-scrollbar {
	display: none;
}

/* ── Grilla técnica (hero de A medida): crucecitas finas ── */
.bloques_grillaTecnica__NHdzY {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
	background-size: 48px 48px;
	background-position: -1px -1px;
	-webkit-mask-image: radial-gradient(120% 90% at 70% 40%, #000 40%, transparent 85%);
	        mask-image: radial-gradient(120% 90% at 70% 40%, #000 40%, transparent 85%);
}

/* ── Franjas diagonales de Marca (#003785 → #0D47A1), para tarjetas de cierre y accesos ── */
.bloques_franjasMarca__2fYDa {
	background-color: rgb(var(--cd-c-marca));
	background-image:
		linear-gradient(115deg, transparent 0 46%, rgb(var(--cd-c-patron) / 0.9) 46% 62%, transparent 62%),
		linear-gradient(115deg, transparent 0 70%, rgb(var(--cd-c-boton) / 0.55) 70% 84%, transparent 84%),
		linear-gradient(115deg, transparent 0 18%, rgb(var(--cd-c-patron) / 0.55) 18% 30%, transparent 30%);
}

/* ── Tarjeta de precio destacada: Noche con mancha azul arriba a la izquierda ── */
.bloques_destacada__SfIy2 {
	background-color: #0b1121;
	background-image: radial-gradient(440px 300px at 0% 0%, rgb(var(--cd-c-boton-hover) / 0.55), transparent 70%);
}

/* ── Fragmentos del isotipo del banner de cierre (cuando no hay visual) ── */
.bloques_fragmentos__u60uv {
	position: absolute;
	inset: 0 0 0 auto;
	width: 46%;
	pointer-events: none;
	overflow: hidden;
}
.bloques_fragmentos__u60uv::before,
.bloques_fragmentos__u60uv::after {
	content: "";
	position: absolute;
	transform: skewX(-24deg);
}
.bloques_fragmentos__u60uv::before {
	top: -10%;
	right: 6%;
	width: 58%;
	height: 62%;
	background: rgb(var(--cd-c-patron));
}
.bloques_fragmentos__u60uv::after {
	bottom: -12%;
	right: -14%;
	width: 62%;
	height: 58%;
	background: rgb(var(--cd-c-pura) / 0.6);
}
.fondo-superficie .bloques_fragmentos__u60uv::before {
	background: rgb(var(--cd-c-patron) / 0.55);
}
.fondo-superficie .bloques_fragmentos__u60uv::after {
	background: rgb(var(--cd-c-pura) / 0.35);
}

/* ── Barra de anclas [N3]: queda fija bajo el header al pasarla (cada bloque es su propia sección,
   así que sticky no alcanza). El lugar reservado evita el salto. ── */
.bloques_anclasLugar__rFD3b {
	height: 56px;
}
.bloques_anclas__Zw2y8 {
	z-index: 30;
}
.bloques_anclas__Zw2y8[data-pegada] {
	position: fixed;
	left: 0;
	right: 0;
	top: calc(var(--cd-header-h) + 12px);
	padding: 0 16px;
	transition:
		opacity 0.2s ease,
		transform 0.2s ease;
}
/* pasada la última sección que indexa: se va hacia arriba para no flotar sobre el cierre ni el footer */
.bloques_anclas__Zw2y8[data-pasada] {
	opacity: 0;
	transform: translateY(-12px);
	pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
	.bloques_anclas__Zw2y8[data-pegada] {
		transition: none;
	}
}

/* ── Barra de compra fija [P4]: entra desde abajo ── */
.bloques_barraCompra__5cbdY {
	transform: translateY(110%);
	transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.bloques_barraCompra__5cbdY[data-visible] {
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	.bloques_barraCompra__5cbdY {
		transition: none;
	}
}

/* ── Comparativa [K1]: cabecera fija ── */
.bloques_cabeceraFija__OPg3a {
	position: sticky;
	top: var(--cd-header-h);
	z-index: 20;
}

/* ── Ícono en caja: #1976D2 con glifo blanco; translúcido sobre oscuro ── */
.bloques_iconoCaja__C6pPL {
	background: rgb(var(--cd-c-boton));
	color: #fff;
}
.fondo-noche .bloques_iconoCaja__C6pPL,
.fondo-negro .bloques_iconoCaja__C6pPL,
.fondo-superficie .bloques_iconoCaja__C6pPL,
.fondo-marca .bloques_iconoCaja__C6pPL {
	background: rgba(255, 255, 255, 0.08);
	color: rgb(var(--cd-c-sobre-oscuro));
}
.bloques_iconoCajaSuave__SQaa9 {
	background: var(--cd-badge-bg);
	color: var(--cd-badge-fg);
}

/* ── Píldoras-link [R6]: gris claro con borde sobre claro; blanco sobre gris; vidrio sobre oscuro ── */
.bloques_pildora__C0xLv {
	background: #f3f5f8;
}
.bloques_pildora__C0xLv:hover {
	background: rgb(var(--cd-c-claro-hover));
}
.fondo-gris .bloques_pildora__C0xLv,
.fondo-celeste .bloques_pildora__C0xLv {
	background: #fff;
}
.fondo-noche .bloques_pildora__C0xLv,
.fondo-negro .bloques_pildora__C0xLv,
.fondo-superficie .bloques_pildora__C0xLv,
.fondo-marca .bloques_pildora__C0xLv {
	background: rgba(255, 255, 255, 0.05);
}
.fondo-noche .bloques_pildora__C0xLv:hover,
.fondo-negro .bloques_pildora__C0xLv:hover,
.fondo-superficie .bloques_pildora__C0xLv:hover,
.fondo-marca .bloques_pildora__C0xLv:hover {
	background: rgba(255, 255, 255, 0.1);
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/blocks/bloques-a.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
/* Estilos propios de los bloques del grupo A (héroes, demostración, F11/F12, R6/R7/R10). */

/* ── [H1] Tarjetas que rotan (6.1): la activa se ensancha (flex 1 → 2,2) y se aclara ── */
.bloques-a_rotador__OQMMt {
	/* display lo pone Tailwind (hidden lg:flex): un display acá le ganaría a `hidden`. */
	gap: 24px;
	height: 380px;
}
.bloques-a_rotTarjeta__L2ww4 {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	overflow: hidden;
	border-radius: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background-color: rgba(255, 255, 255, 0.04);
	cursor: pointer;
	transition:
		flex-grow 0.35s cubic-bezier(0.4, 0, 0.2, 1) 0.35s,
		background-color 0.35s ease-in-out 0.65s,
		border-color 0.35s ease-in-out 0.65s;
}
.bloques-a_rotTarjeta__L2ww4:hover {
	background-color: rgba(255, 255, 255, 0.07);
}
.bloques-a_rotTarjeta__L2ww4[data-activo] {
	flex-grow: 2.2;
	cursor: default;
	border-color: rgba(255, 255, 255, 0.2);
	background-color: rgba(255, 255, 255, 0.1);
}
/* El medio vive en un lienzo de ancho fijo: la tarjeta angosta muestra un pedazo, sin reacomodarse. */
.bloques-a_rotMedio__0SF6F {
	position: absolute;
	left: 24px;
	top: 128px;
	width: 520px;
	opacity: 0.45;
	pointer-events: none;
	transition: opacity 0.35s ease 0.35s;
}
.bloques-a_rotTarjeta__L2ww4[data-activo] .bloques-a_rotMedio__0SF6F {
	opacity: 1;
	pointer-events: auto;
}
.bloques-a_rotTexto__IAK3g {
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.35s ease,
		visibility 0s linear 0.35s;
}
.bloques-a_rotTarjeta__L2ww4[data-activo] .bloques-a_rotTexto__IAK3g {
	opacity: 1;
	visibility: visible;
	transition:
		opacity 0.4s ease 0.6s,
		visibility 0s;
}
/* Barra que marca el avance hasta la próxima tarjeta (8 s). */
.bloques-a_rotProgreso__Y_j_4 {
	position: absolute;
	left: 0;
	top: 0;
	height: 2px;
	width: 100%;
	transform-origin: left;
	background: rgb(var(--cd-c-sobre-oscuro));
	animation: bloques-a_cd-a-progreso__y0cLQ var(--cd-a-intervalo, 8s) linear forwards;
}
.bloques-a_rotProgreso__Y_j_4[data-pausado] {
	animation-play-state: paused;
}
@keyframes bloques-a_cd-a-progreso__y0cLQ {
	from {
		transform: scaleX(0);
	}
	to {
		transform: scaleX(1);
	}
}

/* Mobile: acordeón vertical que sigue rotando. */
.bloques-a_acordeonCuerpo__TtmCf {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.bloques-a_acordeonCuerpo__TtmCf[data-abierto] {
	grid-template-rows: 1fr;
}
.bloques-a_acordeonCuerpo__TtmCf > * {
	min-height: 0;
	overflow: hidden;
}

/* ── [H3] Indicador "desplazate" ── */
.bloques-a_flechaAbajo__vjDE3 {
	animation: bloques-a_cd-a-bajar__9r6ET 1.8s ease-in-out infinite;
}
@keyframes bloques-a_cd-a-bajar__9r6ET {
	0%,
	100% {
		transform: translateY(0);
		opacity: 1;
	}
	50% {
		transform: translateY(4px);
		opacity: 0.6;
	}
}

/* ── [N6] Tarjeta celeste con captura que sube (6.5) ── */
.bloques-a_sube__obUrq {
	transform: translateY(56px);
	transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.bloques-a_tarjetaSube__Qa7Oc:hover .bloques-a_sube__obUrq,
.bloques-a_tarjetaSube__Qa7Oc:focus-visible .bloques-a_sube__obUrq {
	transform: translateY(0);
}
.bloques-a_flechaSube__VFidl {
	transition: opacity 0.3s;
}
.bloques-a_tarjetaSube__Qa7Oc:hover .bloques-a_flechaSube__VFidl {
	opacity: 0;
}

/* ── [D2] [D4] Paneles con resplandor ── */
.bloques-a_resplandorIzq__CCpY2 {
	background-image: radial-gradient(70% 80% at 0% 0%, rgb(var(--cd-c-pura) / 0.32), transparent 70%);
}
.bloques-a_panelVisual__wUkan {
	background-color: var(--cd-superficie);
	background-image:
		radial-gradient(80% 70% at 100% 100%, rgb(var(--cd-c-pura) / 0.28), transparent 70%),
		radial-gradient(60% 60% at 0% 0%, rgb(var(--cd-c-sobre-oscuro) / 0.14), transparent 70%);
}

/* ── [D1] Campo que crece con el texto (y con el texto de ejemplo) ── */
.bloques-a_campo__xOe7_ {
	field-sizing: content;
	resize: none;
}

/* ── [F11] Tarjetas-imagen que se ensanchan (6.4) ── */
.bloques-a_herramientas__sGoYN {
	/* display lo pone Tailwind (hidden md:flex). */
	gap: 24px;
}
.bloques-a_herramienta__vLFPe {
	flex: 1 1 0;
	min-width: 0;
	transition:
		flex-grow 0.45s cubic-bezier(0.4, 0, 0.2, 1),
		opacity 0.3s ease;
}
.bloques-a_herramientas__sGoYN:hover .bloques-a_herramienta__vLFPe {
	flex-grow: 0.85;
	opacity: 0.6;
}
.bloques-a_herramientas__sGoYN .bloques-a_herramienta__vLFPe:hover,
.bloques-a_herramientas__sGoYN .bloques-a_herramienta__vLFPe:focus-within {
	flex-grow: 1.5;
	opacity: 1;
}
.bloques-a_herramientaOculta__xOzQM {
	opacity: 0;
	transition: opacity 0.3s ease;
}
.bloques-a_herramienta__vLFPe:hover .bloques-a_herramientaOculta__xOzQM,
.bloques-a_herramienta__vLFPe:focus-within .bloques-a_herramientaOculta__xOzQM {
	opacity: 1;
	transition: opacity 0.4s ease 0.1s;
}

/* ── [F12] Banda Noche que sube a Marca + tarjetas de módulos ── */
.bloques-a_nocheAMarca__1VCMC {
	background-image:
		radial-gradient(130% 60% at 50% 100%, rgb(var(--cd-c-boton) / 0.55) 0%, rgb(var(--cd-c-marca) / 0.85) 35%, transparent 75%),
		linear-gradient(180deg, #0b1121 0%, #0b1121 45%, rgb(var(--cd-c-profundo)) 100%);
}
.bloques-a_tarjetaModulo__7r6Ku {
	position: relative;
	background-color: rgba(0, 0, 0, 0.35);
	transition: background-color 0.2s ease;
}
.bloques-a_tarjetaModulo__7r6Ku::before {
	content: "";
	position: absolute;
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background: linear-gradient(135deg, rgb(var(--cd-c-deg-1)), rgb(var(--cd-c-pura)) 50%, rgb(var(--cd-c-deg-3)));
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	opacity: 0;
	transition: opacity 0.2s ease;
	pointer-events: none;
}
.bloques-a_tarjetaModulo__7r6Ku:hover {
	background-color: rgba(0, 0, 0, 0.55);
}
.bloques-a_tarjetaModulo__7r6Ku:hover::before,
.bloques-a_tarjetaModulo__7r6Ku:focus-visible::before {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.bloques-a_rotTarjeta__L2ww4,
	.bloques-a_rotMedio__0SF6F,
	.bloques-a_rotTexto__IAK3g,
	.bloques-a_acordeonCuerpo__TtmCf,
	.bloques-a_sube__obUrq,
	.bloques-a_herramienta__vLFPe,
	.bloques-a_herramientaOculta__xOzQM,
	.bloques-a_tarjetaModulo__7r6Ku,
	.bloques-a_tarjetaModulo__7r6Ku::before {
		transition: none;
	}
	.bloques-a_rotProgreso__Y_j_4 {
		display: none;
	}
	.bloques-a_flechaAbajo__vjDE3 {
		animation: none;
	}
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/blocks/bloques-b.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************/
/* Estilos propios de los bloques del grupo B (mosaico, arco de integraciones, comparativas). */

/* ── [S2] Mosaico: parallax por columna atado al scroll. Solo escritorio, con soporte de
   animation-timeline y sin movimiento reducido; sin eso, las columnas quedan quietas y desfasadas. ── */
@supports (animation-timeline: view()) {
	@media (min-width: 1024px) and (prefers-reduced-motion: no-preference) {
		.bloques-b_parallax___iJN2 {
			animation: bloques-b_parallaxMosaico__TP8SB linear both;
			animation-timeline: view();
			animation-range: cover;
		}
	}
}
@keyframes bloques-b_parallaxMosaico__TP8SB {
	from {
		transform: translateY(48px);
	}
	to {
		transform: translateY(-48px);
	}
}

/* ── [F16] Arco de logos: mosaicos que crecen hacia el centro (--t tamaño, --y bajada) ── */
.bloques-b_arco__IZfzK {
	--f: 0.52;
	gap: 6px;
}
@media (min-width: 768px) {
	.bloques-b_arco__IZfzK {
		--f: 0.6;
		gap: 10px;
	}
}
@media (min-width: 1024px) {
	.bloques-b_arco__IZfzK {
		--f: 0.78;
	}
}
@media (min-width: 1280px) {
	.bloques-b_arco__IZfzK {
		--f: 1;
		gap: 12px;
	}
}
.bloques-b_mosaicoArco__9PHU2 {
	width: calc(var(--t) * var(--f) * 1px);
	height: calc(var(--t) * var(--f) * 1px);
	margin-top: calc(var(--y) * var(--f) * 1px);
	border-radius: 24%;
	padding: calc(var(--t) * var(--f) * 0.06px);
}
.bloques-b_arcoBrillo__CpBaZ {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -20%;
	height: 110%;
	z-index: -1;
	pointer-events: none;
	background: radial-gradient(46% 62% at 50% 40%, rgb(var(--cd-c-pura) / 0.42), rgb(var(--cd-c-patron) / 0.18) 45%, transparent 72%);
}
.bloques-b_arcoBrilloClaro__5_3Vk {
	background: radial-gradient(46% 62% at 50% 40%, rgb(var(--cd-c-pura) / 0.16), rgb(var(--cd-c-claro-borde) / 0.25) 45%, transparent 72%);
}

/* ── [F7] Tarjeta translúcida sobre oscuro con brillo azul en una esquina ── */
.fondo-noche .bloques-b_resplandor__5aoCY,
.fondo-negro .bloques-b_resplandor__5aoCY,
.fondo-superficie .bloques-b_resplandor__5aoCY {
	background-image: radial-gradient(85% 65% at 0% 0%, rgb(var(--cd-c-pura) / 0.24), transparent 70%);
}

/* ── [K4] Tile Noche con franjas y líneas diagonales ── */
.bloques-b_tileNoche__0ktRW {
	background-color: #0b1121;
	background-image:
		linear-gradient(135deg, transparent 0 24%, rgb(var(--cd-c-pura) / 0.1) 24% 50%, transparent 50%),
		linear-gradient(135deg, transparent 0 calc(74% - 1px), rgba(255, 255, 255, 0.12) calc(74% - 1px) 74%, transparent 74%),
		linear-gradient(135deg, transparent 0 calc(16% - 1px), rgba(255, 255, 255, 0.1) calc(16% - 1px) 16%, transparent 16%),
		linear-gradient(0deg, transparent 0 calc(50% - 0.5px), rgba(255, 255, 255, 0.06) calc(50% - 0.5px) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
		radial-gradient(70% 60% at 100% 100%, rgb(var(--cd-c-boton-hover) / 0.45), transparent 70%);
}

/* ── [K2] y [K3] Tablas: grilla desde 768 px (en mobile, una tarjeta por fila) ── */
@media (min-width: 768px) {
	.bloques-b_tablaK2__OYc6p {
		display: grid;
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr) minmax(0, 1fr);
		grid-template-rows: repeat(var(--filas), auto);
	}
	.bloques-b_tablaK3__ARQnO {
		display: grid;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1fr) minmax(0, 1.1fr);
		grid-template-rows: repeat(var(--filas), auto);
	}
}

/* ── [K2] "Ver todas": filas de más ocultas y las últimas visibles desvanecidas ── */
.bloques-b_expandible__5vSgd[data-cerrado] .bloques-b_extra___0N5i {
	display: none !important;
}
.bloques-b_expandible__5vSgd[data-cerrado] .bloques-b_desvanecer__Xzc1h {
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 150px), transparent);
	mask-image: linear-gradient(to bottom, #000 calc(100% - 150px), transparent);
}

/* ── [F3] Visual de una tarjeta del bento: alto fijo, recortado abajo con desvanecido ── */
.bloques-b_recorte__uWGyV {
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 40px), transparent);
	mask-image: linear-gradient(to bottom, #000 calc(100% - 40px), transparent);
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Rajdhani","arguments":[{"subsets":["latin"],"weight":["500","600","700"],"display":"swap","preload":false,"variable":"--fs-rajdhani"}],"variableName":"rajdhani"} ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* devanagari */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/b009b118a8c58d8c-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/264c8506a75dd158-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/3d26d2f3aa81a833-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/04971cd00c9d3b68-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/1a22315a480e72db-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/6e1768769e6f59a2-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/67695be07a46cf4c-s.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/bcc69932347c6777-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Rajdhani_b57388';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ab2e3a11646b0499-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Rajdhani_Fallback_b57388';src: local("Arial");ascent-override: 100.61%;descent-override: 37.43%;line-gap-override: 0.00%;size-adjust: 92.43%
}.__className_b57388 {font-family: '__Rajdhani_b57388', '__Rajdhani_Fallback_b57388';font-style: normal
}.__variable_b57388 {--fs-rajdhani: '__Rajdhani_b57388', '__Rajdhani_Fallback_b57388'
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Manrope","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-manrope"}],"variableName":"manrope"} ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Manrope_bc8a98';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/438aa629764e75f3-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Manrope_bc8a98';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/875ae681bfde4580-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek */
@font-face {
  font-family: '__Manrope_bc8a98';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/51251f8b9793cdb3-s.woff2) format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: '__Manrope_bc8a98';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/e857b654a2caa584-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Manrope_bc8a98';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Manrope_bc8a98';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/4c9affa5bc8f420e-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Manrope_Fallback_bc8a98';src: local("Arial");ascent-override: 102.96%;descent-override: 28.98%;line-gap-override: 0.00%;size-adjust: 103.53%
}.__className_bc8a98 {font-family: '__Manrope_bc8a98', '__Manrope_Fallback_bc8a98';font-style: normal
}.__variable_bc8a98 {--fs-manrope: '__Manrope_bc8a98', '__Manrope_Fallback_bc8a98'
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Red_Rose","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-redrose"}],"variableName":"redRose"} ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* vietnamese */
@font-face {
  font-family: '__Red_Rose_140f1a';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/_next/static/media/5f77bd09bfd1a0c5-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Red_Rose_140f1a';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/_next/static/media/3641fa605a9ed049-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Red_Rose_140f1a';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/_next/static/media/dadf262d9e542229-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Red_Rose_Fallback_140f1a';src: local("Arial");ascent-override: 85.63%;descent-override: 28.51%;line-gap-override: 0.00%;size-adjust: 109.42%
}.__className_140f1a {font-family: '__Red_Rose_140f1a', '__Red_Rose_Fallback_140f1a';font-style: normal
}.__variable_140f1a {--fs-redrose: '__Red_Rose_140f1a', '__Red_Rose_Fallback_140f1a'
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Montserrat","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-montserrat"}],"variableName":"montserrat"} ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Montserrat_8612b0';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/b1f344208eb4edfe-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Montserrat_8612b0';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/48e2044251ef3125-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Montserrat_8612b0';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/bf24a9759715e608-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Montserrat_8612b0';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/1f173e5e25f3efee-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Montserrat_8612b0';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/_next/static/media/904be59b21bd51cb-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Montserrat_Fallback_8612b0';src: local("Arial");ascent-override: 84.95%;descent-override: 22.03%;line-gap-override: 0.00%;size-adjust: 113.95%
}.__className_8612b0 {font-family: '__Montserrat_8612b0', '__Montserrat_Fallback_8612b0';font-style: normal
}.__variable_8612b0 {--fs-montserrat: '__Montserrat_8612b0', '__Montserrat_Fallback_8612b0'
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/blocks/divisiones.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * [F17] Divisiones: cada tarjeta trae su paleta en variables locales (--div-*), que pone el componente
 * desde src/lib/divisiones.ts. El isotipo teñido usa las --cd-c-pura / --cd-c-profundo de la tarjeta.
 */
.divisiones_tarjeta__EV1VI {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	height: 100%;
	flex-direction: column;
	border: 1px solid var(--div-borde);
	background: linear-gradient(180deg, var(--div-claro) 0%, #fff 78%);
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}
.divisiones_tarjeta__EV1VI:hover,
.divisiones_tarjeta__EV1VI:focus-visible {
	border-color: var(--div-pura);
	box-shadow: 0 16px 36px -18px color-mix(in srgb, var(--div-pura) 55%, transparent);
	transform: translateY(-2px);
}
.divisiones_tarjeta__EV1VI:focus-visible {
	outline: 2px solid var(--div-pura);
	outline-offset: 2px;
}

/* Isotipo grande de fondo, recortado en la esquina: la marca de la familia. */
.divisiones_marca__AYI17 {
	position: absolute;
	right: -40px;
	bottom: -52px;
	z-index: -1;
	width: 176px;
	height: 196px;
	opacity: 0.11;
	transition:
		opacity 0.3s ease,
		transform 0.4s ease;
}
.divisiones_tarjeta__EV1VI:hover .divisiones_marca__AYI17 {
	opacity: 0.2;
	transform: rotate(-8deg) scale(1.05);
}

.divisiones_nombre__cUPD9 {
	color: var(--div-boton);
}
.divisiones_accion__Vt_9_ {
	color: var(--div-boton);
}

@media (prefers-reduced-motion: reduce) {
	.divisiones_tarjeta__EV1VI,
	.divisiones_marca__AYI17 {
		transition: none;
	}
	.divisiones_tarjeta__EV1VI:hover,
	.divisiones_tarjeta__EV1VI:hover .divisiones_marca__AYI17 {
		transform: none;
	}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\fuentes.ts","import":"Plus_Jakarta_Sans","arguments":[{"subsets":["latin"],"display":"swap","preload":false,"variable":"--fs-jakarta"}],"variableName":"jakarta"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Plus_Jakarta_Sans_76e0e0';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/6fe53d21e6e7ebd8-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* vietnamese */
@font-face {
  font-family: '__Plus_Jakarta_Sans_76e0e0';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/8ebc6e9dde468c4a-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Plus_Jakarta_Sans_76e0e0';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/9e7b0a821b9dfcb4-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Plus_Jakarta_Sans_76e0e0';
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url(/_next/static/media/636a5ac981f94f8b-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Plus_Jakarta_Sans_Fallback_76e0e0';src: local("Arial");ascent-override: 98.75%;descent-override: 21.12%;line-gap-override: 0.00%;size-adjust: 105.12%
}.__className_76e0e0 {font-family: '__Plus_Jakarta_Sans_76e0e0', '__Plus_Jakarta_Sans_Fallback_76e0e0';font-style: normal
}.__variable_76e0e0 {--fs-jakarta: '__Plus_Jakarta_Sans_76e0e0', '__Plus_Jakarta_Sans_Fallback_76e0e0'
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/mockups.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Movimiento y responsive de los mockups.
 *
 * Reglas:
 * - El estilo base de cada elemento animado es su estado FINAL: con
 *   prefers-reduced-motion se apagan todas las animaciones y queda esa foto.
 * - Las duraciones y demoras se pasan con variables: --dur (ciclo) y --delay.
 * - El ancho manda por contenedor, no por pantalla: el marco lleva .cq y adentro
 *   se usan .desde400 / .desde480 / .desde560 / .hasta400 / .hasta480.
 */

.mockups_cq__DloLj {
	container-type: inline-size;
}

/* El body del sitio fija line-height: 26px; los mockups usan uno propio, de interfaz. */
.mockups_raiz__aK0h9 {
	line-height: 1.35;
}

/* Tarjetitas flotantes en el medio del costado: en angosto bajan al pie para no tapar el contenido */
@container (max-width: 479.98px) {
	.mockups_medioAlPie__3zdII {
		top: auto !important;
		bottom: 0 !important;
		transform: none !important;
	}
}

/*
 * Cortes compartidos. En una VentanaSistema miran el gris del contenido: 300 separa las tarjetas
 * chicas del celular (ventana de 253 px, gris de ~240) de los celulares (gris de ~308); 400 y 480,
 * el celular del escritorio (con el riel por debajo de 600 px de ventana, el gris de escritorio
 * mide 440 o más); 560, las ventanas anchas de los héroes.
 */
@container (max-width: 299.98px) {
	.mockups_desde300__FODwb {
		display: none !important;
	}
}
@container (min-width: 300px) {
	.mockups_hasta300__zIWxX {
		display: none !important;
	}
}
@container (min-width: 560px) {
	.mockups_hasta560__5zII7 {
		display: none !important;
	}
}
@container (max-width: 399.98px) {
	.mockups_desde400__AuWM7 {
		display: none !important;
	}
}
@container (max-width: 479.98px) {
	.mockups_desde480__M4Gin {
		display: none !important;
	}
}
@container (max-width: 559.98px) {
	.mockups_desde560__uoxvP {
		display: none !important;
	}
}
@container (min-width: 400px) {
	.mockups_hasta400__ch2oa {
		display: none !important;
	}
}
@container (min-width: 480px) {
	.mockups_hasta480__eouOq {
		display: none !important;
	}
}

/* ---------- Entrada única (tarjetitas flotantes) ---------- */

.mockups_aparece__60_zj {
	animation: mockups_aparece__60_zj 0.6s cubic-bezier(0.4, 0, 0.2, 1) both;
	animation-delay: var(--delay, 0.3s);
}
@keyframes mockups_aparece__60_zj {
	from {
		opacity: 0;
		transform: translateY(10px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Flotado muy suave, para una sola pieza por composición */
.mockups_flota__kNQlw {
	animation: mockups_flota__kNQlw var(--dur, 6s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_flota__kNQlw {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-5px);
	}
}

/* ---------- Punto "en vivo" ---------- */

.mockups_pulso__Crlha {
	position: relative;
}
.mockups_pulso__Crlha::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 999px;
	background: currentColor;
	animation: mockups_pulso__Crlha 2s cubic-bezier(0, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_pulso__Crlha {
	0% {
		transform: scale(1);
		opacity: 0.55;
	}
	80%,
	100% {
		transform: scale(2.6);
		opacity: 0;
	}
}

/* ---------- Fila nueva que entra en una lista (ciclo de 12 s) ---------- */

.mockups_entraFila__FnU6h {
	/* Sin max-height ni transform: la fila tiene su lugar reservado y aparece con un fundido y un
	   resaltado que se apaga. Antes se estiraba y empujaba todo lo de abajo cada ciclo (la página
	   "vibraba", Rodri 03/10/2026). */
	animation: mockups_entraFila__FnU6h var(--dur, 12s) linear infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_entraFila__FnU6h {
	0%,
	8% {
		opacity: 0;
		background-color: rgba(227, 242, 253, 1);
	}
	13% {
		opacity: 1;
		background-color: rgba(227, 242, 253, 1);
	}
	40% {
		background-color: rgba(227, 242, 253, 0);
	}
	94% {
		opacity: 1;
		background-color: rgba(227, 242, 253, 0);
	}
	100% {
		opacity: 0;
		background-color: rgba(227, 242, 253, 0);
	}
}

/* ---------- Cambio de estado: lo viejo sale y entra lo nuevo ----------
 * Van de a pares, apilados en la misma celda (.apilado). Usan el mismo --dur.
 * En reposo (o sin movimiento) se ve el estado nuevo. */

.mockups_apilado__SYYzK {
	display: inline-grid;
}
.mockups_apilado__SYYzK > * {
	grid-area: 1 / 1;
}

.mockups_estadoViejo__u2RAn {
	opacity: 0;
	animation: mockups_estadoViejo__u2RAn var(--dur, 6s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
.mockups_estadoNuevo__S2BSN {
	animation: mockups_estadoNuevo__S2BSN var(--dur, 6s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
/* Solo opacidad y sin superponer las dos etiquetas: con scale/translate el texto se veía borroso
   durante toda la animación (Chrome rasteriza la capa escalada). */
@keyframes mockups_estadoViejo__u2RAn {
	0%,
	39% {
		opacity: 1;
	}
	42%,
	97% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes mockups_estadoNuevo__S2BSN {
	0%,
	42% {
		opacity: 0;
	}
	45%,
	94% {
		opacity: 1;
	}
	97%,
	100% {
		opacity: 0;
	}
}

/* Variante "temprano": cambia al 14 % del ciclo, junto con una .entraFila */
.mockups_estadoViejoTemprano__Ik9MQ {
	opacity: 0;
	animation: mockups_estadoViejoTemprano__Ik9MQ var(--dur, 12s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
.mockups_estadoNuevoTemprano__WTXtv {
	animation: mockups_estadoNuevoTemprano__WTXtv var(--dur, 12s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_estadoViejoTemprano__Ik9MQ {
	0%,
	11% {
		opacity: 1;
	}
	13%,
	97% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes mockups_estadoNuevoTemprano__WTXtv {
	0%,
	13% {
		opacity: 0;
	}
	15%,
	94% {
		opacity: 1;
	}
	97%,
	100% {
		opacity: 0;
	}
}

/* Algo que aparece a mitad del ciclo y se queda (un aviso, un tilde, un total) */
.mockups_apareceEnCiclo__UlIcm {
	animation: mockups_apareceEnCiclo__UlIcm var(--dur, 6s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_apareceEnCiclo__UlIcm {
	0%,
	40% {
		opacity: 0;
	}
	48%,
	94% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

/* ---------- Cursor que va a un botón y hace clic ----------
 * Se pone dentro de un contenedor relativo junto al botón. --cx/--cy: desde
 * dónde llega. El botón lleva .presionado con el mismo --dur. */

.mockups_cursor__KdtF1 {
	position: absolute;
	pointer-events: none;
	z-index: 5;
	animation: mockups_cursor__KdtF1 var(--dur, 6s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_cursor__KdtF1 {
	0%,
	10% {
		opacity: 0;
		transform: translate(var(--cx, 60px), var(--cy, 50px));
	}
	18% {
		opacity: 1;
		transform: translate(var(--cx, 60px), var(--cy, 50px));
	}
	36% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
	40% {
		transform: translate(0, 0) scale(0.84);
	}
	44%,
	78% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
	88%,
	100% {
		opacity: 0;
		transform: translate(14px, 18px);
	}
}
.mockups_presionado__iucvq {
	animation: mockups_presionado__iucvq var(--dur, 6s) ease-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_presionado__iucvq {
	0%,
	37% {
		transform: none;
		filter: none;
	}
	40% {
		/* hundido de 1 px en vez de scale: el texto del botón no se desenfoca */
		transform: translateY(1px);
		filter: brightness(0.88);
	}
	46%,
	100% {
		transform: none;
		filter: none;
	}
}

/* ---------- Tres puntitos de "escribiendo..." ---------- */

.mockups_escribiendo__GXryk span {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: currentColor;
	animation: mockups_escribiendo__GXryk 1.2s ease-in-out infinite;
}
.mockups_escribiendo__GXryk span:nth-child(2) {
	animation-delay: 0.15s;
}
.mockups_escribiendo__GXryk span:nth-child(3) {
	animation-delay: 0.3s;
}
@keyframes mockups_escribiendo__GXryk {
	0%,
	60%,
	100% {
		transform: translateY(0);
		opacity: 0.35;
	}
	30% {
		transform: translateY(-3px);
		opacity: 1;
	}
}

/* Caret que titila al final de un texto que se escribe */
.mockups_caret__yTt0s {
	display: inline-block;
	width: 2px;
	height: 1em;
	margin-left: 1px;
	vertical-align: -0.15em;
	background: currentColor;
	animation: mockups_caret__yTt0s 1s steps(1) infinite;
}
@keyframes mockups_caret__yTt0s {
	50% {
		opacity: 0;
	}
}

/* ---------- Barra que se llena (progreso, backup, envío) ---------- */

.mockups_llena__yYeuv {
	transform-origin: left center;
	animation: mockups_llena__yYeuv var(--dur, 6s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_llena__yYeuv {
	0%,
	10% {
		transform: scaleX(0);
		opacity: 1;
	}
	60%,
	94% {
		transform: scaleX(1);
		opacity: 1;
	}
	100% {
		transform: scaleX(1);
		opacity: 0.4;
	}
}

/* Barras de un gráfico que crecen desde abajo */
.mockups_crece__YoLox {
	transform-origin: bottom center;
	animation: mockups_crece__YoLox var(--dur, 8s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_crece__YoLox {
	0%,
	6% {
		transform: scaleY(0.08);
	}
	30%,
	92% {
		transform: scaleY(1);
	}
	100% {
		transform: scaleY(0.08);
	}
}

/* Línea de un gráfico que se dibuja (SVG con pathLength="1") */
.mockups_dibuja__f7vw3 {
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	animation: mockups_dibuja__f7vw3 var(--dur, 8s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_dibuja__f7vw3 {
	0%,
	6% {
		stroke-dashoffset: 1;
		opacity: 1;
	}
	45%,
	92% {
		stroke-dashoffset: 0;
		opacity: 1;
	}
	100% {
		stroke-dashoffset: 0;
		opacity: 0.3;
	}
}

/* ---------- Ondas de voz ---------- */

.mockups_onda__jfLR_ {
	transform-origin: center;
	animation: mockups_onda__jfLR_ 1.1s ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_onda__jfLR_ {
	0%,
	100% {
		transform: scaleY(0.35);
	}
	50% {
		transform: scaleY(1);
	}
}

/* ---------- Ruleta que gira, frena y muestra el premio ---------- */

.mockups_gira__9sEuQ {
	animation: mockups_gira__9sEuQ var(--dur, 9s) cubic-bezier(0.15, 0.6, 0.15, 1) infinite;
	animation-delay: var(--delay, 0s);
	transform: rotate(var(--fin, 0deg));
}
@keyframes mockups_gira__9sEuQ {
	0%,
	8% {
		transform: rotate(0deg);
		opacity: 1;
	}
	55%,
	96% {
		transform: rotate(calc(1440deg + var(--fin, 0deg)));
		opacity: 1;
	}
	100% {
		transform: rotate(calc(1440deg + var(--fin, 0deg)));
		opacity: 0.85;
	}
}

/* ---------- Antes y después con cortina que se desliza ----------
 * La capa "después" va arriba con .cortina; el tirador con .tirador. */

.mockups_cortina__n7Hbl {
	clip-path: inset(0 0 0 50%);
	animation: mockups_cortina__n7Hbl var(--dur, 7s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_cortina__n7Hbl {
	0%,
	12% {
		clip-path: inset(0 0 0 92%);
	}
	50%,
	62% {
		clip-path: inset(0 0 0 8%);
	}
	100% {
		clip-path: inset(0 0 0 92%);
	}
}
.mockups_tirador__AIJyA {
	left: 50%;
	animation: mockups_tirador__AIJyA var(--dur, 7s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_tirador__AIJyA {
	0%,
	12% {
		left: 92%;
	}
	50%,
	62% {
		left: 8%;
	}
	100% {
		left: 92%;
	}
}

/* ---------- Brillo de "la IA está trabajando" ---------- */

.mockups_brillo__gfqPh {
	background-image: linear-gradient(
		100deg,
		rgba(255, 255, 255, 0) 30%,
		rgba(255, 255, 255, 0.75) 50%,
		rgba(255, 255, 255, 0) 70%
	);
	background-size: 220% 100%;
	animation: mockups_brillo__gfqPh 1.6s linear infinite;
}
@keyframes mockups_brillo__gfqPh {
	from {
		background-position: 120% 0;
	}
	to {
		background-position: -120% 0;
	}
}

/* ---------- Secuencias manejadas por animado.tsx ---------- */

.mockups_entraItem__D8qMT {
	animation: mockups_entraItem__D8qMT 0.45s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes mockups_entraItem__D8qMT {
	from {
		opacity: 0;
		transform: translateY(8px) scale(0.98);
	}
	to {
		opacity: 1;
		transform: none;
	}
}
.mockups_secuenciaSale__cAro4 {
	transition: opacity 0.5s ease;
	opacity: 0;
}
/* Solo opacidad: la vista que se va y la que llega se funden en el mismo lugar, sin desplazarse. */
.mockups_vista__jGne0 {
	transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.mockups_vistaOculta__uyMl9 {
	opacity: 0;
	pointer-events: none;
}

/* ---------- Galería del sitio (GaleriaSitio, MiniaturasSitio) ----------
 * Tres fotos que se funden una tras otra, y el marco de su miniatura: solo opacidad. Cada capa lleva
 * --dur, una demora negativa y su opacidad de reposo (la primera visible). */
.mockups_fotoGaleria__iC2D4 {
	animation: mockups_fotoGaleria__iC2D4 var(--dur, 9s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes mockups_fotoGaleria__iC2D4 {
	0%,
	31% {
		opacity: 1;
	}
	35%,
	96% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* ---------- Sin movimiento ---------- */

@media (prefers-reduced-motion: reduce) {
	.mockups_aparece__60_zj,
	.mockups_flota__kNQlw,
	.mockups_pulso__Crlha::after,
	.mockups_entraFila__FnU6h,
	.mockups_estadoViejo__u2RAn,
	.mockups_estadoNuevo__S2BSN,
	.mockups_estadoViejoTemprano__Ik9MQ,
	.mockups_estadoNuevoTemprano__WTXtv,
	.mockups_apareceEnCiclo__UlIcm,
	.mockups_cursor__KdtF1,
	.mockups_presionado__iucvq,
	.mockups_escribiendo__GXryk span,
	.mockups_caret__yTt0s,
	.mockups_llena__yYeuv,
	.mockups_crece__YoLox,
	.mockups_dibuja__f7vw3,
	.mockups_onda__jfLR_,
	.mockups_gira__9sEuQ,
	.mockups_cortina__n7Hbl,
	.mockups_tirador__AIJyA,
	.mockups_brillo__gfqPh,
	.mockups_fotoGaleria__iC2D4,
	.mockups_entraItem__D8qMT {
		animation: none !important;
	}
	.mockups_cursor__KdtF1 {
		display: none;
	}
	.mockups_vista__jGne0 {
		transition: none;
	}
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/FragmentosIsotipo.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Movimiento de FragmentosIsotipo: un desplazamiento lento de cada pieza.
 * Estado base = piezas quietas en su lugar (es lo que queda sin movimiento).
 */

.FragmentosIsotipo_deriva1__D9IZO,
.FragmentosIsotipo_deriva2__BLNKe,
.FragmentosIsotipo_deriva3__adeu4 {
	transform-box: view-box;
}

.FragmentosIsotipo_deriva1__D9IZO {
	animation: FragmentosIsotipo_deriva1__D9IZO 19s ease-in-out infinite;
}
.FragmentosIsotipo_deriva2__BLNKe {
	animation: FragmentosIsotipo_deriva2__BLNKe 23s ease-in-out infinite;
}
.FragmentosIsotipo_deriva3__adeu4 {
	animation: FragmentosIsotipo_deriva3__adeu4 17s ease-in-out infinite;
	animation-delay: -6s;
}

@keyframes FragmentosIsotipo_deriva1__D9IZO {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-9px, 11px);
	}
}
@keyframes FragmentosIsotipo_deriva2__BLNKe {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(10px, -8px);
	}
}
@keyframes FragmentosIsotipo_deriva3__adeu4 {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-7px, -12px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.FragmentosIsotipo_deriva1__D9IZO,
	.FragmentosIsotipo_deriva2__BLNKe,
	.FragmentosIsotipo_deriva3__adeu4 {
		animation: none !important;
	}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\plataforma.tsx","import":"Nunito_Sans","arguments":[{"subsets":["latin"],"weight":["400","500","600"],"display":"swap","preload":false}],"variableName":"nunito"} ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aa1b27f9e325731f-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c126d80dc21dff90-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/e850464f9dfbb75b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/357067f10075d686-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/68180864d7f93f02-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aa1b27f9e325731f-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c126d80dc21dff90-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/e850464f9dfbb75b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/357067f10075d686-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/68180864d7f93f02-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/aa1b27f9e325731f-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/c126d80dc21dff90-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/e850464f9dfbb75b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/357067f10075d686-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_Sans_e74362';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/_next/static/media/68180864d7f93f02-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Nunito_Sans_Fallback_e74362';src: local("Arial");ascent-override: 99.39%;descent-override: 34.70%;line-gap-override: 0.00%;size-adjust: 101.72%
}.__className_e74362 {font-family: '__Nunito_Sans_e74362', '__Nunito_Sans_Fallback_e74362';font-style: normal
}

/*!************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/master.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Movimiento de las piezas de Master (master.tsx) SIN mover el layout ni escalar texto (Rodri,
 * 03/10/2026: "vibra el contenido" y "quedan borrosas las dos etiquetas"):
 * - la fila nueva tiene su lugar reservado: aparece con un fundido y un resaltado que se apaga (si se
 *   estira con max-height empuja las filas de abajo cuadro por cuadro);
 * - el cambio de estado es solo opacidad, sin transform ni scale (con scale, Chrome rasteriza la capa
 *   escalada durante toda la animación y el texto queda borroso), y sin superponer las dos etiquetas.
 * Ciclo común (--dur, 12 s por defecto): la fila entra al 6-10 %, el cambio "temprano" va al 8-12 %
 * (un contador que sube con la fila) y el "medio" al 40-46 % (un pago que se acredita).
 * Las demoras (--delay) van negativas para escalonar sin mostrar el final mientras arrancan.
 */

.master_filaNueva__W7kPu {
	animation: master_filaNueva__W7kPu var(--dur, 12s) linear var(--delay, 0s) infinite;
}
@keyframes master_filaNueva__W7kPu {
	0%,
	6% {
		opacity: 0;
		background-color: rgba(227, 242, 253, 1);
	}
	10% {
		opacity: 1;
		background-color: rgba(227, 242, 253, 1);
	}
	36% {
		background-color: rgba(227, 242, 253, 0);
	}
	95% {
		opacity: 1;
		background-color: rgba(227, 242, 253, 0);
	}
	100% {
		opacity: 0;
		background-color: rgba(227, 242, 253, 0);
	}
}

/*
 * La columna puede achicarse hasta el lugar que haya (minmax(0, auto)) y los hijos también (min-width
 * 0): un contenido ancho se corta adentro (truncate) en vez de desbordar la fila.
 */
.master_apilado__ATUQ4 {
	display: inline-grid;
	grid-template-columns: minmax(0, auto);
	max-width: 100%;
}
/* Los hijos son flex: sin la línea de texto alrededor, un chip queda a la misma altura antes y después */
.master_apilado__ATUQ4 > * {
	grid-area: 1 / 1;
	display: flex;
	align-items: center;
	min-width: 0;
}

/* Cambio a mitad del ciclo (pago Pendiente → Realizado) */
.master_antesMedio__JSNW_ {
	animation: master_antesMedio__JSNW_ var(--dur, 12s) linear var(--delay, 0s) infinite;
}
.master_despuesMedio___wcAi {
	opacity: 1;
	animation: master_despuesMedio___wcAi var(--dur, 12s) linear var(--delay, 0s) infinite;
}
@keyframes master_antesMedio__JSNW_ {
	0%,
	40% {
		opacity: 1;
	}
	43%,
	100% {
		opacity: 0;
	}
}
@keyframes master_despuesMedio___wcAi {
	0%,
	43% {
		opacity: 0;
	}
	46%,
	95% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

/* Cambio temprano (contador de pedidos 23 → 24, cuando entra la fila) */
.master_antesTemprano__ZEG7s {
	animation: master_antesTemprano__ZEG7s var(--dur, 12s) linear var(--delay, 0s) infinite;
}
.master_despuesTemprano__48SlI {
	opacity: 1;
	animation: master_despuesTemprano__48SlI var(--dur, 12s) linear var(--delay, 0s) infinite;
}
@keyframes master_antesTemprano__ZEG7s {
	0%,
	8% {
		opacity: 1;
	}
	10%,
	100% {
		opacity: 0;
	}
}
@keyframes master_despuesTemprano__48SlI {
	0%,
	10% {
		opacity: 0;
	}
	12%,
	100% {
		opacity: 1;
	}
}

/*
 * Menú lateral: no define el alto de la ventana (lo define el contenido). Si el contenido es más
 * bajo que el menú, el menú se corta abajo con un fundido a blanco, como un panel que sigue.
 */
.master_menuCaja__gerQs {
	position: relative;
}
.master_menuCaja__gerQs > .master_menuInterior__VSrzp {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.master_menuCaja__gerQs > .master_menuInterior__VSrzp::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 18px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
	.master_filaNueva__W7kPu,
	.master_antesMedio__JSNW_,
	.master_despuesMedio___wcAi,
	.master_antesTemprano__ZEG7s,
	.master_despuesTemprano__48SlI {
		animation: none;
	}
	.master_filaNueva__W7kPu {
		opacity: 1;
		background-color: transparent;
	}
	.master_antesMedio__JSNW_,
	.master_antesTemprano__ZEG7s {
		opacity: 0;
	}
	.master_despuesMedio___wcAi,
	.master_despuesTemprano__48SlI {
		opacity: 1;
	}
}

/*
 * Ventanas angostas (menos de 340 px, las tarjetas chicas en el celular): el menú se cierra del todo,
 * como Master en el teléfono (queda la hamburguesa), y el gris toma todo el ancho. Así el contenido
 * conserva el ancho que tenía antes del marco de Master. Miran el ancho de la ventana (su .cq).
 */
.master_franja__mkBCK {
	margin-right: 8px;
}
@container (max-width: 339.98px) {
	.master_rielDesde340__ZILmR {
		display: none !important;
	}
	.master_franja__mkBCK {
		margin-right: 0;
	}
}

/* Título de la pantalla: 16 px como en Master; en un gris de menos de 300 px, 14,5 para que entre. */
.master_titulo__LU_Be {
	font-size: 16px;
}
@container (max-width: 299.98px) {
	.master_titulo__LU_Be {
		font-size: 14.5px;
	}
}

/*
 * Tarjeta de cifra: mide su propio ancho y suelta el cuadrado del ícono cuando el monto no entra a
 * su lado. TarjetaCifra estima el ancho del valor y elige el corte (de 60 a 200 px de contenido, de a 10).
 */
.master_cifra__rXciA {
	container-type: inline-size;
}
@container (max-width: 59.98px) {
	.master_cifraIcono60__XX_QR {
		display: none !important;
	}
}
@container (max-width: 69.98px) {
	.master_cifraIcono70__9Q_3t {
		display: none !important;
	}
}
@container (max-width: 79.98px) {
	.master_cifraIcono80__47rd7 {
		display: none !important;
	}
}
@container (max-width: 89.98px) {
	.master_cifraIcono90__wFRoF {
		display: none !important;
	}
}
@container (max-width: 99.98px) {
	.master_cifraIcono100__Yfr1x {
		display: none !important;
	}
}
@container (max-width: 109.98px) {
	.master_cifraIcono110__6mHMy {
		display: none !important;
	}
}
@container (max-width: 119.98px) {
	.master_cifraIcono120__kpQa_ {
		display: none !important;
	}
}
@container (max-width: 129.98px) {
	.master_cifraIcono130__X3rr_ {
		display: none !important;
	}
}
@container (max-width: 139.98px) {
	.master_cifraIcono140__jbEuW {
		display: none !important;
	}
}
@container (max-width: 149.98px) {
	.master_cifraIcono150__CNJZy {
		display: none !important;
	}
}
@container (max-width: 159.98px) {
	.master_cifraIcono160__ty2T_ {
		display: none !important;
	}
}
@container (max-width: 169.98px) {
	.master_cifraIcono170__ZJiwF {
		display: none !important;
	}
}
@container (max-width: 179.98px) {
	.master_cifraIcono180__KBjjH {
		display: none !important;
	}
}
@container (max-width: 189.98px) {
	.master_cifraIcono190__ZsMdx {
		display: none !important;
	}
}
@container (max-width: 199.98px) {
	.master_cifraIcono200__klMTF {
		display: none !important;
	}
}

/*
 * Menú lateral: desplegado con texto desde 600 px de ventana; por debajo, el riel de íconos con el
 * menú cerrado (como Master en una ventana angosta). El corte va en 600 y no en 480 para que el
 * contenido de las ventanas de 520-580 px (acordeones y pestañas a 1440) no quede debajo de los 400 px
 * del corte compartido: con el riel gana ~110 px. Miran el ancho de la ventana (su .cq).
 */
@container (max-width: 599.98px) {
	.master_menuDesde600__K4faz {
		display: none !important;
	}
}
@container (min-width: 600px) {
	.master_rielHasta600__RjmQe {
		display: none !important;
	}
}

/* Logo del negocio: en una ventana de menos de 300 px queda la palabra fuerte ("RIBERA", "Horizonte") */
@container (max-width: 299.98px) {
	.master_palabraSecundaria__xqlkj {
		display: none;
	}
}

/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/plataforma.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * La ventana de la plataforma de Monitor, Naze y Cleverwork (plataforma.tsx): cortes del menú, fila
 * de cifras, fila nueva teñida con el color del sistema y el orbe del asistente.
 * El color del sistema llega por variables que pone VentanaPlataforma en su raíz (--pl, --pl-tx,
 * --pl-5, --pl-10, --pl-20, --pl-30, --pl-50): acá nada lleva un color de sistema escrito.
 * Movimiento solo con opacidad y color; con prefers-reduced-motion queda el estado final.
 */

/*
 * Menú lateral. Desde 600 px de ventana, desplegado (140 px con logo, buscador y grupos); entre 340 y
 * 600, el riel de íconos (como el menú colapsado de la plataforma); por debajo de 340, nada (como en el
 * teléfono: queda la hamburguesa en la barra de arriba). Miran el ancho de la ventana (su .cq).
 */
@container (max-width: 599.98px) {
	.plataforma_menuDesde600__22qgQ {
		display: none !important;
	}
}
@container (min-width: 600px) {
	.plataforma_rielHasta600__V18vC {
		display: none !important;
	}
}
@container (max-width: 339.98px) {
	.plataforma_desde340__axVBw {
		display: none !important;
	}
}
@container (min-width: 340px) {
	.plataforma_hasta340__ct5TC {
		display: none !important;
	}
}

/* El menú no define el alto de la ventana: si el contenido es más bajo, se corta con un fundido. */
.plataforma_menuCaja__Hm_cn {
	position: relative;
}
.plataforma_menuCaja__Hm_cn > .plataforma_menuInterior__OOGnX {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.plataforma_menuCaja__Hm_cn > .plataforma_menuInterior__OOGnX::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 18px;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	pointer-events: none;
}

/*
 * Fila de cifras: dos por fila en un gris de menos de 440 px (teléfono y ventanas medianas), cuatro (o
 * --columnas) desde ahí. Con cuatro en menos de 440, un rótulo de dos palabras ("Sin movimiento") ya
 * no entra al lado del valor. En un gris de menos de 300 la tarjeta suelta el cuadrito del ícono.
 */
.plataforma_cifras__u4598 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
}
@container (min-width: 440px) {
	.plataforma_cifras__u4598 {
		grid-template-columns: repeat(var(--columnas, 4), minmax(0, 1fr));
	}
}
@container (max-width: 299.98px) {
	.plataforma_iconoCifra__M1emj {
		display: none !important;
	}
}

/*
 * Fila que entra en una tabla: tiene su lugar reservado y aparece con un fundido y un resaltado en el
 * color del sistema (10 %) que se apaga. Mismo ciclo que la fila nueva de Master (12 s, entra al
 * 6-10 %), así va en fase con CambioNitido momento="temprano".
 */
.plataforma_filaNueva__QjvPQ {
	animation: plataforma_filaNueva__QjvPQ var(--dur, 12s) linear var(--delay, 0s) infinite;
}
@keyframes plataforma_filaNueva__QjvPQ {
	0%,
	6% {
		opacity: 0;
		background-color: var(--pl-10);
	}
	10% {
		opacity: 1;
		background-color: var(--pl-10);
	}
	36% {
		background-color: rgba(255, 255, 255, 0);
	}
	95% {
		opacity: 1;
		background-color: rgba(255, 255, 255, 0);
	}
	100% {
		opacity: 0;
		background-color: rgba(255, 255, 255, 0);
	}
}

/* Dos tarjetas lado a lado desde 400 px de gris; por debajo, una arriba de la otra (dosColumnasPlataforma). */
.plataforma_dosColumnas__S9Gi6 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}
@container (min-width: 400px) {
	.plataforma_dosColumnas__S9Gi6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/*
 * Orbe del asistente (abajo a la derecha, como en la plataforma): la esfera de puntitos en reposo
 * (OrbePuntos, sin WebGL) sobre un halo blanco apenas marcado, para que se lea sobre el gris.
 */
.plataforma_orbe__jgDrd {
	background: radial-gradient(circle, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.6) 55%, rgba(255, 255, 255, 0) 72%);
}

@media (prefers-reduced-motion: reduce) {
	.plataforma_filaNueva__QjvPQ {
		animation: none;
		opacity: 1;
		background-color: transparent;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/AgendaTurnos.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Tarjeta del turno abierto en la vista semanal de AgendaTurnos (vista="semana").
 * Va dentro de la columna del jueves. En angosto se abre arriba del turno de las
 * 18:00; desde 400 px de contenedor, a la izquierda de la columna, a la altura
 * del turno. Los 116 px y 159 px salen de la fila de 36 px: el turno de las
 * 18:00 empieza a 144 px del borde de la grilla (cuarta fila desde las 14).
 */

.AgendaTurnos_globo__LjqHL {
	position: absolute;
	z-index: 6;
	width: 214px;
	left: 50%;
	bottom: 116px;
	transform: translateX(-50%);
}
.AgendaTurnos_globo__LjqHL::after {
	content: "";
	position: absolute;
	left: calc(50% - 5px);
	bottom: -6px;
	width: 10px;
	height: 10px;
	background: #fff;
	border-right: 1px solid #e6e8ec;
	border-bottom: 1px solid #e6e8ec;
	transform: rotate(45deg);
}

@container (min-width: 400px) {
	.AgendaTurnos_globo__LjqHL {
		width: 196px;
		left: auto;
		right: calc(100% + 9px);
		bottom: auto;
		top: 159px;
		transform: translateY(-50%);
	}
	.AgendaTurnos_globo__LjqHL::after {
		left: auto;
		right: -6px;
		bottom: auto;
		top: calc(50% - 5px);
		border-bottom: 0;
		border-top: 1px solid #e6e8ec;
	}
}

/* Con cinco columnas (desde 560 px) hay lugar para el ancho completo */
@container (min-width: 560px) {
	.AgendaTurnos_globo__LjqHL {
		width: 214px;
	}
}


/*!*********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/StockSucursales.module.css ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Responsive propio de StockSucursales (mira el ancho del gris de la VentanaSistema).
 */

/* Columna del estado de los retiros (ficha de sucursal): en un gris angosto, el chip con el texto corto. */
.StockSucursales_colRetiro__Pi0Zk {
	width: 116px;
}
@container (max-width: 399.98px) {
	.StockSucursales_colRetiro__Pi0Zk {
		width: 80px;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/Inmobiliaria.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Movimiento y grillas propias de Inmobiliaria.tsx.
 * Estado base = estado final: con prefers-reduced-motion queda la foto terminada.
 */

/* Campos del alta: 2 columnas en angosto, 4 desde 400 px de contenedor */
.Inmobiliaria_grillaCampos__oL8yu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px 8px;
}
.Inmobiliaria_ancho2__8Y5rZ {
	grid-column: span 2 / span 2;
}
@container (min-width: 400px) {
	.Inmobiliaria_grillaCampos__oL8yu {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Resultados: 2 columnas en angosto, 3 desde 480 px */
.Inmobiliaria_grillaResultados__uqump {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
@container (min-width: 480px) {
	.Inmobiliaria_grillaResultados__uqump {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Similares: dos tarjetas por página en angosto, tres desde 480 px */
.Inmobiliaria_grillaSimilares__UG8Ao {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}
@container (min-width: 480px) {
	.Inmobiliaria_grillaSimilares__UG8Ao {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Galería de la ficha de escritorio: más baja en marcos angostos (entra el título y el mapa) */
.Inmobiliaria_galeriaFicha__PYbTO {
	height: 124px;
}
@container (min-width: 480px) {
	.Inmobiliaria_galeriaFicha__PYbTO {
		height: 150px;
	}
}

/* Mensajes de WhatsApp: primero llega la consulta, después sale la respuesta (solo opacidad) */
.Inmobiliaria_llegaPrimero__APwl2 {
	animation: Inmobiliaria_llegaPrimero__APwl2 var(--dur, 9s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes Inmobiliaria_llegaPrimero__APwl2 {
	0%,
	12% {
		opacity: 0;
	}
	18%,
	93% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
.Inmobiliaria_llegaDespues__iL5go {
	animation: Inmobiliaria_llegaDespues__iL5go var(--dur, 9s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes Inmobiliaria_llegaDespues__iL5go {
	0%,
	52% {
		opacity: 0;
	}
	58%,
	93% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.Inmobiliaria_llegaPrimero__APwl2,
	.Inmobiliaria_llegaDespues__iL5go {
		animation: none !important;
	}
}

/* Tipo ocupa dos columnas solo cuando hay cuatro */
@container (min-width: 400px) {
	.Inmobiliaria_ancho2Desde400__sopzg {
		grid-column: span 2 / span 2;
	}
}

/* Columna "En el sitio" del listado: solo el interruptor por debajo de 440 px */
.Inmobiliaria_colSitio__HItRX {
	width: 30px;
}
@container (min-width: 440px) {
	.Inmobiliaria_colSitio__HItRX {
		width: 98px;
	}
}

/* Chip "Visible/Pausada" del listado: aparece desde 440 px de contenido (antes no entra al lado del precio) */
@container (max-width: 439.98px) {
	.Inmobiliaria_desde440__AGqkb {
		display: none !important;
	}
}
@container (min-width: 440px) {
	.Inmobiliaria_hasta440___5x_5 {
		display: none !important;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/PanelGestion.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Grillas, columnas y movimiento de PanelGestion. Las grillas y columnas cambian según el ancho
 * del contenedor (el gris de la ventana del sistema, que lleva .cq). El movimiento es solo
 * opacidad: nada empuja el layout.
 */

.PanelGestion_grilla12__ryBzK {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}
.PanelGestion_grilla23__VP0GM {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

/* Columnas de casillas de la tabla de permisos: angostas para que el módulo entre en 253 px */
.PanelGestion_colPermiso__qlThu {
	width: 34px;
}

/* Desde 400 px de gris (escritorio): el tablero de tres columnas y las columnas de permisos más anchas */
@container (min-width: 400px) {
	.PanelGestion_grilla12__ryBzK {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.PanelGestion_grilla23__VP0GM {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.PanelGestion_colPermiso__qlThu {
		width: 46px;
	}
}

/*
 * La respuesta que llega en el chat, después del "leído" (CambioNitido medio, 40-46 % de 12 s):
 * solo opacidad, su lugar ya está reservado.
 */
.PanelGestion_apareceDespues__5YPAM {
	animation: PanelGestion_apareceDespues__5YPAM var(--dur, 12s) linear var(--delay, 0s) infinite;
}
@keyframes PanelGestion_apareceDespues__5YPAM {
	0%,
	54% {
		opacity: 0;
	}
	58%,
	95% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.PanelGestion_apareceDespues__5YPAM {
		animation: none;
		opacity: 1;
	}
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/SincroMercadoLibre.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Movimiento propio de SincroMercadoLibre. Mismas reglas que mockups.module.css:
 * el estilo base es el estado final y con prefers-reduced-motion no se mueve nada.
 * Los anchos responden al contenedor (.cq de la raíz del mockup).
 */

/* ---------- Los dos lados: apilados en angosto, en fila desde 480 px ---------- */

.SincroMercadoLibre_lados__QECd2 {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
@container (min-width: 480px) {
	.SincroMercadoLibre_lados__QECd2 {
		flex-direction: row;
	}
	.SincroMercadoLibre_lado__4dC6i {
		flex: 1 1 0;
		min-width: 0;
	}
}

/* ---------- Conector entre los dos lados, con un punto que viaja ---------- */

.SincroMercadoLibre_conector__7Ws0J {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 46px;
}
.SincroMercadoLibre_linea__ti6_m {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	border-left: 2px dashed #cbd5e1;
	transform: translateX(-1px);
}
.SincroMercadoLibre_punto__ETD7f {
	position: absolute;
	top: 0;
	left: calc(50% - 4px);
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #1976d2;
	box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.2);
	opacity: 0;
	animation: SincroMercadoLibre_viajaY__9Sjaw var(--dur, 9s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}
@container (min-width: 480px) {
	.SincroMercadoLibre_conector__7Ws0J {
		width: 58px;
		height: auto;
		flex-shrink: 0;
	}
	.SincroMercadoLibre_linea__ti6_m {
		top: 50%;
		bottom: auto;
		left: 0;
		right: 0;
		border-left: 0;
		border-top: 2px dashed #cbd5e1;
		transform: translateY(-1px);
	}
	.SincroMercadoLibre_punto__ETD7f {
		top: calc(50% - 4px);
		left: 0;
		animation-name: SincroMercadoLibre_viajaX__zSiBl;
	}
}
@keyframes SincroMercadoLibre_viajaY__9Sjaw {
	0%,
	15% {
		top: 0;
		opacity: 0;
	}
	18%,
	34% {
		opacity: 1;
	}
	38% {
		top: calc(100% - 8px);
		opacity: 1;
	}
	42%,
	100% {
		top: calc(100% - 8px);
		opacity: 0;
	}
}
@keyframes SincroMercadoLibre_viajaX__zSiBl {
	0%,
	15% {
		left: 0;
		opacity: 0;
	}
	18%,
	34% {
		opacity: 1;
	}
	38% {
		left: calc(100% - 8px);
		opacity: 1;
	}
	42%,
	100% {
		left: calc(100% - 8px);
		opacity: 0;
	}
}

/* ---------- Venta de Mercado Libre que llega al despacho ----------
 * Con su lugar reservado: aparece con un fundido y un resaltado celeste que se apaga, sin estirarse
 * ni empujar la tabla (mismos tiempos que la fila nueva de Master, master.module.css). */

.SincroMercadoLibre_tarjetaNueva__RrMsQ {
	animation: SincroMercadoLibre_tarjetaNueva__RrMsQ var(--dur, 12s) linear infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes SincroMercadoLibre_tarjetaNueva__RrMsQ {
	0%,
	6% {
		opacity: 0;
		background-color: #e3f2fd;
	}
	10% {
		opacity: 1;
		background-color: #e3f2fd;
	}
	36% {
		background-color: #ffffff;
	}
	95% {
		opacity: 1;
		background-color: #ffffff;
	}
	100% {
		opacity: 0;
		background-color: #ffffff;
	}
}

@media (prefers-reduced-motion: reduce) {
	.SincroMercadoLibre_punto__ETD7f,
	.SincroMercadoLibre_tarjetaNueva__RrMsQ {
		animation: none !important;
	}
	.SincroMercadoLibre_punto__ETD7f {
		display: none;
	}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/PromosCupones.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Raspá y ganá (PromosCupones, vista "raspa"): el trazo de la máscara se dibuja (se
 * raspa la capa plateada), queda raspado y al final la capa vuelve. Va en un <path> con
 * pathLength="1". En reposo queda raspado: se lee el código.
 *
 * (No usa .dibuja de mockups.module.css porque esa declara la opacidad solo al 100 % y
 * el trazo se va apagando durante todo el ciclo.)
 */

.PromosCupones_raspado__ehHPF {
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	animation: PromosCupones_raspado__ehHPF var(--dur, 8s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}

@keyframes PromosCupones_raspado__ehHPF {
	0%,
	8% {
		stroke-dashoffset: 1;
		stroke-opacity: 1;
	}
	50%,
	90% {
		stroke-dashoffset: 0;
		stroke-opacity: 1;
	}
	99% {
		stroke-dashoffset: 0;
		stroke-opacity: 0;
	}
	100% {
		stroke-dashoffset: 1;
		stroke-opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.PromosCupones_raspado__ehHPF {
		animation: none !important;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/CampanaEmail.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Barras del rendimiento de la campaña (CampanaEmail): se llenan, quedan llenas y al
 * final se vacían. En reposo, llenas.
 *
 * (No usa .llena de mockups.module.css porque esa declara la opacidad solo al 100 % y la
 * barra se ve apagada durante casi todo el ciclo.)
 */

.CampanaEmail_barra__e4lxz {
	transform-origin: left center;
	animation: CampanaEmail_barra__e4lxz var(--dur, 9s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
	animation-delay: var(--delay, 0s);
}

@keyframes CampanaEmail_barra__e4lxz {
	0%,
	10% {
		transform: scaleX(0);
		opacity: 1;
	}
	55%,
	92% {
		transform: scaleX(1);
		opacity: 1;
	}
	100% {
		transform: scaleX(1);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.CampanaEmail_barra__e4lxz {
		animation: none !important;
	}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/CarteleraTV.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Cuenta regresiva que corre de verdad (CarteleraTV, barra de anuncios de PromosCupones).
 * Cada dígito es una tira vertical que baja de a un número con steps(); la tira
 * arranca en el dígito actual, así que sin movimiento queda la hora inicial.
 */

.CarteleraTV_digito__L6J1y {
	display: inline-block;
	height: 1.15em;
	line-height: 1.15em;
	overflow: hidden;
	vertical-align: top;
}

.CarteleraTV_tira__L2qQR {
	display: block;
	animation: CarteleraTV_cuenta__RYOms var(--dur, 10s) linear infinite;
	animation-delay: var(--delay, 0s);
}

.CarteleraTV_tira__L2qQR > span {
	display: block;
	height: 1.15em;
}

@keyframes CarteleraTV_cuenta__RYOms {
	from {
		transform: translateY(0);
	}
	to {
		transform: translateY(-100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.CarteleraTV_tira__L2qQR {
		animation: none !important;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/Fidelizacion.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Reflejo que cruza la gift card cada tanto (Fidelizacion). En reposo queda fuera de la
 * tarjeta: sin movimiento se ve la tarjeta limpia.
 */

.Fidelizacion_reflejo__5qOyU {
	background-image: linear-gradient(
		105deg,
		rgba(255, 255, 255, 0) 38%,
		rgba(255, 255, 255, 0.32) 50%,
		rgba(255, 255, 255, 0) 62%
	);
	background-size: 250% 100%;
	background-repeat: no-repeat;
	background-position: 130% 0;
	animation: Fidelizacion_reflejo__5qOyU var(--dur, 6s) ease-in-out infinite;
	animation-delay: var(--delay, 0s);
}

@keyframes Fidelizacion_reflejo__5qOyU {
	0%,
	55% {
		background-position: 130% 0;
	}
	80%,
	100% {
		background-position: -30% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.Fidelizacion_reflejo__5qOyU {
		animation: none !important;
	}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/RuletaPremios.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Ruleta (RuletaPremios): el premio aparece cuando la rueda frena (la rueda usa .gira de
 * mockups.module.css, que llega al 55 % del ciclo) y "Girando…" se ve mientras gira.
 * Mismo --dur que la rueda. En reposo se ve el premio y no el "Girando…".
 */

.RuletaPremios_premio__S6CQ_ {
	animation: RuletaPremios_premio__S6CQ_ var(--dur, 9s) ease-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes RuletaPremios_premio__S6CQ_ {
	/* solo opacidad: sin desplazar ni escalar el texto */
	0%,
	54% {
		opacity: 0;
	}
	60%,
	95% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

.RuletaPremios_girando__7jqUQ {
	opacity: 0;
	animation: RuletaPremios_girando__7jqUQ var(--dur, 9s) ease-out infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes RuletaPremios_girando__7jqUQ {
	0%,
	52% {
		opacity: 1;
	}
	56%,
	96% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* Luces del borde que titilan de a pares */
.RuletaPremios_luz__BvIcH {
	animation: RuletaPremios_luz__BvIcH 1.2s steps(1) infinite;
	animation-delay: var(--delay, 0s);
}
@keyframes RuletaPremios_luz__BvIcH {
	50% {
		opacity: 0.35;
	}
}

@media (prefers-reduced-motion: reduce) {
	.RuletaPremios_premio__S6CQ_,
	.RuletaPremios_girando__7jqUQ,
	.RuletaPremios_luz__BvIcH {
		animation: none !important;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/ChatbotSitio.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * ChatbotSitio: la grilla del listado de la tienda detrás del chat, por ancho del navegador (el .cq
 * de su contenido). Sin animaciones: el movimiento es la Secuencia del chat.
 * - angosto: 2 columnas y una fila (2 productos);
 * - desde 400 px: 3 columnas y dos filas (6 productos);
 * - desde 760 px (el hero ancho de la página del chatbot): 4 columnas y una fila (4 productos),
 *   como el listado real, para que el hero no quede altísimo.
 */

.ChatbotSitio_grilla__049hG {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ChatbotSitio_mas__ZqIut {
	display: none;
}
@container (min-width: 400px) {
	.ChatbotSitio_grilla__049hG {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ChatbotSitio_mas__ZqIut {
		display: block;
	}
}
@container (min-width: 760px) {
	.ChatbotSitio_grilla__049hG {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.ChatbotSitio_soloMedio__ReF_F {
		display: none;
	}
}

/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/AgenteVoz.module.css ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * El asistente abierto sobre la ventana del sistema (AgenteVoz, variante "completo"). Las capas son
 * absolutas sobre el gris del contenido (que lleva .cq), así que nada cambia el alto de la ventana;
 * el corte de 440 px mira ese gris: por encima, el formulario a la izquierda y el orbe con sus
 * subtítulos en una columna a la derecha; por debajo, el formulario arriba y el orbe más chico.
 */

.AgenteVoz_capa__rXwXa {
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: 9px;
}

.AgenteVoz_columna__dmYm_ {
	position: absolute;
	right: 8px;
	bottom: 8px;
	display: flex;
	width: 156px;
	max-width: calc(100% - 16px);
	flex-direction: column;
	align-items: center;
}

.AgenteVoz_orbe___WcyZ {
	width: 100px;
}

.AgenteVoz_modal__Y6lEY {
	position: absolute;
	top: 8px;
	right: 8px;
	left: 8px;
}

@container (min-width: 440px) {
	.AgenteVoz_columna__dmYm_ {
		right: 10px;
		bottom: 10px;
		width: 200px;
	}
	.AgenteVoz_orbe___WcyZ {
		width: 136px;
	}
	.AgenteVoz_modal__Y6lEY {
		top: 44px;
		right: 222px;
		left: 12px;
	}
	.AgenteVoz_angosto__3j8s_ {
		display: none !important;
	}
}

@container (max-width: 439.98px) {
	.AgenteVoz_ancho__KtD2i {
		display: none !important;
	}
}

/* El botón que espera a la persona: un anillo que respira (solo opacidad). */
.AgenteVoz_espera__zs72m {
	animation: AgenteVoz_espera__zs72m 1.8s ease-in-out infinite;
}
@keyframes AgenteVoz_espera__zs72m {
	0%,
	100% {
		opacity: 0.25;
	}
	50% {
		opacity: 1;
	}
}

/* El texto de la variante "escenario" sigue el ancho de su caja, de 15 a 24 px. */
.AgenteVoz_pregunta__ZWf2G {
	font-size: clamp(15px, 3.4cqw, 24px);
	line-height: 1.3;
}
.AgenteVoz_respuesta__MTZxj {
	font-size: clamp(12.5px, 2.3cqw, 16px);
	line-height: 1.45;
}

@media (prefers-reduced-motion: reduce) {
	.AgenteVoz_espera__zs72m {
		animation: none;
		opacity: 1;
	}
}

/*!***********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/CicloSincronizado.module.css ***!
  \***********************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Línea de tiempo de <CicloSincronizado> (CicloSincronizado.tsx).
 *
 * Son animaciones de UNA sola vez: el componente vuelve a montar a sus hijos en
 * cada vuelta, así que se reinician todas juntas y quedan sincronizadas con el
 * texto que se escribe (TextoEnCiclo).
 * - Solo corren con [data-ciclo="on"] (en pantalla y con movimiento). Si no, se
 *   ve el estado base, que es el final.
 * - --en: segundo de la vuelta en que arranca · --sal: segundo en que se va ·
 *   --dc: duración del recorrido del cursor.
 */

/* Antes de la primera vuelta (prop `espera`): lo que se mueve se desvanece desde el estado final */
[data-ciclo="sale"] .CicloSincronizado_aparece___OPoY,
[data-ciclo="sale"] .CicloSincronizado_apareceYSeVa__yBFIw,
[data-ciclo="sale"] .CicloSincronizado_funde__Re7nT {
	opacity: 0;
	transition: opacity 0.4s ease;
}

/* Aparece en --en y se queda (estado final: visible) */
[data-ciclo="on"] .CicloSincronizado_aparece___OPoY {
	animation: CicloSincronizado_cEntra__NM3Po 0.45s cubic-bezier(0.4, 0, 0.2, 1) var(--en, 0s) both;
}

/* Aparece en --en y se va en --sal, para que el reinicio no sea un corte */
[data-ciclo="on"] .CicloSincronizado_apareceYSeVa__yBFIw {
	animation:
		CicloSincronizado_cEntra__NM3Po 0.45s cubic-bezier(0.4, 0, 0.2, 1) var(--en, 0s) both,
		CicloSincronizado_cSale__TsxFv 0.4s ease var(--sal, 999s) forwards;
}

/* Igual pero solo con opacidad (capas de una foto) */
[data-ciclo="on"] .CicloSincronizado_funde__Re7nT {
	animation:
		CicloSincronizado_cMuestra__9l3pB 0.7s ease var(--en, 0s) both,
		CicloSincronizado_cSale__TsxFv 0.4s ease var(--sal, 999s) forwards;
}

/* Visible solo entre --en y --sal (estado final: oculto) */
.CicloSincronizado_ventana__zN_p9 {
	opacity: 0;
}
[data-ciclo="on"] .CicloSincronizado_ventana__zN_p9 {
	animation:
		CicloSincronizado_cMuestra__9l3pB 0.25s ease var(--en, 0s) forwards,
		CicloSincronizado_cSale__TsxFv 0.25s ease var(--sal, 999s) forwards;
}

/* Visible al empezar la vuelta, se va en --en (estado final: oculto) */
.CicloSincronizado_seOculta__vemSy {
	opacity: 0;
}
[data-ciclo="on"] .CicloSincronizado_seOculta__vemSy {
	animation: CicloSincronizado_cSale__TsxFv 0.3s ease var(--en, 0s) both;
}

/* Cursor de piezas.tsx con un recorrido de una sola vez: llega, hace clic al 58 % y se va.
 * La clase doble le gana a la animación en loop de mockups.module.css. */
.CicloSincronizado_cursor__vPOg8.CicloSincronizado_cursor__vPOg8 {
	opacity: 0;
	animation: none;
}
[data-ciclo="on"] .CicloSincronizado_cursor__vPOg8.CicloSincronizado_cursor__vPOg8 {
	animation: CicloSincronizado_cCursor__wV3xA var(--dc, 2.4s) cubic-bezier(0.4, 0, 0.2, 1) var(--en, 0s) both;
}

/* Botón que se hunde en el clic del cursor del mismo --en y --dc */
.CicloSincronizado_presiona__ebtbc.CicloSincronizado_presiona__ebtbc {
	animation: none;
}
[data-ciclo="on"] .CicloSincronizado_presiona__ebtbc.CicloSincronizado_presiona__ebtbc {
	animation: CicloSincronizado_cPresiona__xAQVg var(--dc, 2.4s) ease-out var(--en, 0s) both;
}

/* Solo opacidad: con translate el contenido "vibraba" al entrar (Rodri, 03/10/2026) */
@keyframes CicloSincronizado_cEntra__NM3Po {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes CicloSincronizado_cMuestra__9l3pB {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes CicloSincronizado_cSale__TsxFv {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}
@keyframes CicloSincronizado_cCursor__wV3xA {
	0% {
		opacity: 0;
		transform: translate(var(--cx, 60px), var(--cy, 50px));
	}
	14% {
		opacity: 1;
		transform: translate(var(--cx, 60px), var(--cy, 50px));
	}
	52% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
	58% {
		transform: translate(0, 0) scale(0.84);
	}
	64%,
	84% {
		opacity: 1;
		transform: translate(0, 0) scale(1);
	}
	100% {
		opacity: 0;
		transform: translate(14px, 18px);
	}
}
@keyframes CicloSincronizado_cPresiona__xAQVg {
	0%,
	55% {
		transform: none;
		filter: none;
	}
	58% {
		/* hundido de 1 px en vez de scale: el texto del botón no se desenfoca */
		transform: translateY(1px);
		filter: brightness(0.88);
	}
	64%,
	100% {
		transform: none;
		filter: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.CicloSincronizado_aparece___OPoY,
	.CicloSincronizado_apareceYSeVa__yBFIw,
	.CicloSincronizado_funde__Re7nT,
	.CicloSincronizado_ventana__zN_p9,
	.CicloSincronizado_seOculta__vemSy,
	.CicloSincronizado_cursor__vPOg8,
	.CicloSincronizado_presiona__ebtbc {
		animation: none !important;
	}
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/IaGenerador.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Distribución de IaGenerador por ancho de contenedor (el contenido de la
 * VentanaSistema, que ya es .cq). El movimiento está en CicloSincronizado.module.css.
 */

/* Producto: en angosto la foto y los datos lado a lado y la descripción abajo a todo el ancho;
 * desde 420 px la foto ocupa la columna izquierda entera. */
.IaGenerador_producto__BS__G {
	display: grid;
	gap: 12px;
	/* en angosto mitad y mitad: así entran el botón "Quitar fondo" y el chip "Fondo quitado" */
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	grid-template-areas:
		"foto datos"
		"desc desc";
}
@container (min-width: 420px) {
	.IaGenerador_producto__BS__G {
		grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.3fr);
		grid-template-areas:
			"foto datos"
			"foto desc";
		grid-template-rows: auto 1fr;
	}
}
.IaGenerador_foto__iKsHR {
	grid-area: foto;
}
.IaGenerador_datos__TSTNr {
	grid-area: datos;
}
.IaGenerador_desc__gindJ {
	grid-area: desc;
}

/* Grilla de campos de la propiedad: 2 columnas en angosto, 3 desde 420 px */
.IaGenerador_campos__r2ppX {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@container (min-width: 420px) {
	.IaGenerador_campos__r2ppX {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Alta de la propiedad (variante "propiedad"): una sola tarjeta que entra en los 424 px de los demás
 * visuales del acordeón de inmobiliarias. En angosto (gris de menos de 400 px), todo un poco más junto. */
.IaGenerador_propiedad__vhDl0 {
	padding: 14px 10px 10px;
}
.IaGenerador_camposPropiedad__dTgXu {
	row-gap: 12px;
}
.IaGenerador_fotosPropiedad__C_2EN {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
@container (max-width: 399.98px) {
	.IaGenerador_propiedad__vhDl0 {
		padding-top: 12px;
		padding-bottom: 9px;
	}
	.IaGenerador_camposPropiedad__dTgXu {
		row-gap: 10px;
	}
	.IaGenerador_fotosPropiedad__C_2EN > div {
		aspect-ratio: 5 / 2;
	}
	.IaGenerador_cajaPropiedad__koOu2 {
		padding-top: 5px;
		padding-bottom: 5px;
		font-size: 10px;
		line-height: 1.35;
	}
}

/* Fotos de la propiedad: 3 en angosto, 4 desde 400 px */
.IaGenerador_fotos__Yy_P4 {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@container (min-width: 400px) {
	.IaGenerador_fotos__Yy_P4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/IaAntesDespues.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/* Distribución de IaAntesDespues por ancho de contenedor (la tarjeta lleva .cq). */

/* Textos: "Antes" y "Después" uno abajo del otro; lado a lado desde 460 px */
.IaAntesDespues_par__d7WTi {
	display: grid;
	gap: 10px;
}
@container (min-width: 460px) {
	.IaAntesDespues_par__d7WTi {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* Imágenes: la foto arriba y el detalle abajo; lado a lado desde 460 px */
.IaAntesDespues_imagen__x51gW {
	display: grid;
	gap: 12px;
}
@container (min-width: 460px) {
	.IaAntesDespues_imagen__x51gW {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		align-items: center;
	}
}

/* Dos tarjetas de producto lado a lado siempre (promo, ficha completa) */
.IaAntesDespues_tarjetas__Jpc7I {
	display: grid;
	gap: 10px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

/*!*****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/EditorSitio.module.css ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Distribución de EditorSitio y del sitio público de Pulsar por ancho de
 * contenedor. Sin animaciones propias: el movimiento sale de mockups.module.css.
 */

/* Grilla de productos del sitio: 2 columnas en angosto, 3 desde 400 px, 4 desde 480 (como la home real) */
.EditorSitio_grilla__bUfK_ {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@container (min-width: 400px) {
	.EditorSitio_grilla__bUfK_ {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@container (min-width: 480px) {
	.EditorSitio_grilla__bUfK_ {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* Grilla de fotos de una galería: 3 columnas, 6 desde 420 px */
.EditorSitio_galeria__zuMz1 {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
@container (min-width: 420px) {
	.EditorSitio_galeria__zuMz1 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* Dos columnas (español | inglés) desde 420 px */
.EditorSitio_dosColumnas__KWroW {
	display: grid;
	gap: 8px;
}
@container (min-width: 420px) {
	.EditorSitio_dosColumnas__KWroW {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

/* ---------- Hero a dos capas: sitio (escritorio + celular) y, encima, el editor ---------- */

.EditorSitio_escena__vIdPf {
	position: relative;
}
.EditorSitio_capaSitio__Nq88I {
	margin-left: 13%;
	width: 87%;
}
.EditorSitio_capaCelular__0SFGD {
	position: absolute;
	right: -3%;
	top: 64px;
	z-index: 2;
}
.EditorSitio_capaEditor__Ra2ss {
	position: relative;
	z-index: 3;
	width: 63%;
	margin-top: -132px;
}
@container (max-width: 479px) {
	.EditorSitio_capaSitio__Nq88I {
		margin-left: 0;
		width: 100%;
	}
	.EditorSitio_capaCelular__0SFGD {
		display: none;
	}
	.EditorSitio_capaEditor__Ra2ss {
		width: 92%;
		margin-left: 4%;
		margin-top: -96px;
	}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/BandejaCorreo.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * BandejaCorreo: distribución del hero (compu + celular) por ancho de contenedor
 * y la barra de la mudanza de correo. Estado base = final (mudanza completa).
 */

.BandejaCorreo_escena___rJZI {
	position: relative;
}
.BandejaCorreo_capaCompu__CsCbn {
	width: 85%;
}
.BandejaCorreo_capaCelular__OBjIv {
	position: absolute;
	right: 0;
	top: 36px;
	z-index: 2;
}
@container (max-width: 479px) {
	.BandejaCorreo_capaCompu__CsCbn {
		width: 100%;
	}
	.BandejaCorreo_capaCelular__OBjIv {
		display: none;
	}
}

/* Barra de importación: se llena del 6 al 54 % del ciclo, queda llena y vuelve al final */
.BandejaCorreo_importa__r90xW {
	transform-origin: left center;
	animation: BandejaCorreo_importa__r90xW var(--dur, 9s) cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes BandejaCorreo_importa__r90xW {
	0%,
	6% {
		transform: scaleX(0.04);
	}
	54%,
	95% {
		transform: scaleX(1);
	}
	100% {
		transform: scaleX(0.04);
	}
}

/* Texto "Importando…" que se va cuando la barra se llena, y "Completo" que entra */
.BandejaCorreo_importando__DUITe {
	opacity: 0;
	animation: BandejaCorreo_importando__DUITe var(--dur, 9s) ease infinite;
}
@keyframes BandejaCorreo_importando__DUITe {
	0%,
	52% {
		opacity: 1;
	}
	56%,
	97% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.BandejaCorreo_completo__pjpF8 {
	animation: BandejaCorreo_completo__pjpF8 var(--dur, 9s) ease infinite;
}
@keyframes BandejaCorreo_completo__pjpF8 {
	0%,
	54% {
		opacity: 0;
		transform: translateY(3px);
	}
	58%,
	95% {
		opacity: 1;
		transform: none;
	}
	100% {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.BandejaCorreo_importa__r90xW,
	.BandejaCorreo_importando__DUITe,
	.BandejaCorreo_completo__pjpF8 {
		animation: none !important;
	}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/ComandasRestaurante.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Grillas propias de ComandasRestaurante.tsx (responden al ancho del contenedor).
 * Movimiento: el de mockups.module.css y master.module.css.
 */

/* Comandas de la cocina: 2 columnas en angosto, 3 desde 400 px */
.ComandasRestaurante_grillaCocina__4LG8F {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
@container (min-width: 400px) {
	.ComandasRestaurante_grillaCocina__4LG8F {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Lugar para los nombres de las apps alrededor del tablero */
@container (min-width: 480px) {
	.ComandasRestaurante_marcoDelivery__WdYvA {
		padding: 38px 7% 40px;
	}
}

/*!******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/ReservaFogon.module.css ***!
  \******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * ReservaFogon: un solo movimiento, solo opacidad, en un ciclo de --dur (10 s).
 * 0-18 %   el formulario completo, sin franja elegida
 * 18-21 %  se elige la franja de las 21:00
 * 34-40 %  el botón "Reservar" se oscurece (el toque)
 * 41-45 %  la hoja pasa a "Reserva confirmada"; 46-50 % llega el mail de confirmación de fondo
 * 94-98 %  vuelve al formulario (la franja se suelta mientras no se ve)
 * El estilo base de cada capa es el estado FINAL: sin movimiento queda la reserva confirmada con el mail.
 */

.ReservaFogon_capas__DlMTZ {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
}
.ReservaFogon_capas__DlMTZ > * {
	grid-area: 1 / 1;
}

.ReservaFogon_franjaElegida__RHmpp {
	animation: ReservaFogon_franjaElegida__RHmpp var(--dur, 10s) ease-in-out infinite;
}
@keyframes ReservaFogon_franjaElegida__RHmpp {
	0%,
	18% {
		opacity: 0;
	}
	21%,
	70% {
		opacity: 1;
	}
	72%,
	100% {
		opacity: 0;
	}
}

.ReservaFogon_toque__u0AB3 {
	opacity: 0;
	animation: ReservaFogon_toque__u0AB3 var(--dur, 10s) ease-in-out infinite;
}
@keyframes ReservaFogon_toque__u0AB3 {
	0%,
	34% {
		opacity: 0;
	}
	36%,
	40% {
		opacity: 1;
	}
	43%,
	100% {
		opacity: 0;
	}
}

.ReservaFogon_confirmada__pFogk {
	animation: ReservaFogon_confirmada__pFogk var(--dur, 10s) ease-in-out infinite;
}
@keyframes ReservaFogon_confirmada__pFogk {
	0%,
	41% {
		opacity: 0;
	}
	45%,
	94% {
		opacity: 1;
	}
	98%,
	100% {
		opacity: 0;
	}
}

.ReservaFogon_mail__AoP43 {
	animation: ReservaFogon_mail__AoP43 var(--dur, 10s) ease-in-out infinite;
}
@keyframes ReservaFogon_mail__AoP43 {
	0%,
	46% {
		opacity: 0;
	}
	50%,
	94% {
		opacity: 1;
	}
	97%,
	100% {
		opacity: 0;
	}
}

/*
 * El celular y la tarjetita del sistema a su derecha, montada 24 px sobre el borde. En un contenedor
 * angosto (menos de 440 px) la tarjetita baja al pie, a la derecha, y apenas pisa el marco.
 */
.ReservaFogon_escena__FmNdS {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.ReservaFogon_tarjeta__1LVex {
	position: relative;
	z-index: 10;
	flex-shrink: 0;
	margin-left: -24px;
	margin-bottom: 92px;
}
@container (max-width: 439.98px) {
	.ReservaFogon_escena__FmNdS {
		position: relative;
		padding-bottom: 46px;
	}
	.ReservaFogon_tarjeta__1LVex {
		position: absolute;
		right: 0;
		bottom: 0;
		margin: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ReservaFogon_franjaElegida__RHmpp,
	.ReservaFogon_toque__u0AB3,
	.ReservaFogon_confirmada__pFogk,
	.ReservaFogon_mail__AoP43 {
		animation: none !important;
	}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/SaludDelSitio.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Movimiento del incidente de SaludDelSitio, en tres fases sobre un mismo ciclo
 * (--dur, 15 s por defecto):
 *   fase 1 (0-28 %): todo en verde
 *   fase 2 (31-58 %): el formulario deja de llegar, la fila pasa a rojo y sale el aviso
 *   fase 3 (61-97 %): resuelto, la fila vuelve a verde
 * Estado base (sin movimiento) = fase 3: el incidente ya resuelto, con su historial.
 * Las piezas de cada fase van apiladas en la misma celda (.pila). Solo opacidad y color: nada se
 * desplaza ni cambia de tamaño (lenguaje Master).
 */

.SaludDelSitio_fase1__wVIeV,
.SaludDelSitio_fase2__5gZDR {
	opacity: 0;
}
.SaludDelSitio_fase1__wVIeV,
.SaludDelSitio_fase2__5gZDR,
.SaludDelSitio_fase3__XN8x5,
.SaludDelSitio_sinFase2__ciLfu,
.SaludDelSitio_desdeFase2__MjCgH,
.SaludDelSitio_fila__Kh2n3,
.SaludDelSitio_resumen___ogjY {
	animation-duration: var(--dur, 15s);
	animation-timing-function: ease-in-out;
	animation-iteration-count: infinite;
	animation-delay: var(--delay, 0s);
}

.SaludDelSitio_fase1__wVIeV {
	animation-name: SaludDelSitio_fase1__wVIeV;
}
.SaludDelSitio_fase2__5gZDR {
	animation-name: SaludDelSitio_fase2__5gZDR;
}
.SaludDelSitio_fase3__XN8x5 {
	animation-name: SaludDelSitio_fase3__XN8x5;
}
/* visible en las fases 1 y 3 (el ícono verde, el chip "Vigilando") */
.SaludDelSitio_sinFase2__ciLfu {
	animation-name: SaludDelSitio_sinFase2__ciLfu;
}
/* entradas del historial que aparecen con el aviso y se quedan hasta el final */
.SaludDelSitio_desdeFase2__MjCgH {
	animation-name: SaludDelSitio_desdeFase2__MjCgH;
}

@keyframes SaludDelSitio_fase1__wVIeV {
	0%,
	28% {
		opacity: 1;
	}
	31%,
	97% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes SaludDelSitio_fase2__5gZDR {
	0%,
	28% {
		opacity: 0;
	}
	31%,
	58% {
		opacity: 1;
	}
	61%,
	100% {
		opacity: 0;
	}
}
@keyframes SaludDelSitio_fase3__XN8x5 {
	0%,
	58% {
		opacity: 0;
	}
	61%,
	97% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes SaludDelSitio_sinFase2__ciLfu {
	0%,
	28% {
		opacity: 1;
	}
	31%,
	58% {
		opacity: 0;
	}
	61%,
	100% {
		opacity: 1;
	}
}
@keyframes SaludDelSitio_desdeFase2__MjCgH {
	0%,
	29% {
		opacity: 0;
	}
	33%,
	96% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}

/* Apilado de bloque: las piezas de cada fase ocupan la misma celda */
.SaludDelSitio_pila__YgtSd {
	display: grid;
}
.SaludDelSitio_pila__YgtSd > * {
	grid-area: 1 / 1;
}

/* Columna del chip: ancho fijo para alinear; en angosto el chip queda solo con su ícono */
@container (min-width: 400px) {
	.SaludDelSitio_columnaChip__fQt3G {
		width: 78px;
	}
}

/* La fila del formulario: rojo durante la falla, verde suave cuando se resuelve (tonos de Master) */
.SaludDelSitio_fila__Kh2n3 {
	background-color: #f1f8f1;
	animation-name: SaludDelSitio_fila__Kh2n3;
}
@keyframes SaludDelSitio_fila__Kh2n3 {
	0%,
	28% {
		background-color: rgba(241, 248, 241, 0);
		box-shadow: inset 3px 0 0 rgba(46, 125, 50, 0);
	}
	31%,
	58% {
		background-color: #fff1f1;
		box-shadow: inset 3px 0 0 #d32f2f;
	}
	61%,
	90% {
		background-color: #f1f8f1;
		box-shadow: inset 3px 0 0 #2e7d32;
	}
	100% {
		background-color: rgba(241, 248, 241, 0);
		box-shadow: inset 3px 0 0 rgba(46, 125, 50, 0);
	}
}

/* El resumen de arriba (tarjeta blanca): se tiñe de rojo durante la falla */
.SaludDelSitio_resumen___ogjY {
	animation-name: SaludDelSitio_resumen___ogjY;
}
@keyframes SaludDelSitio_resumen___ogjY {
	0%,
	28% {
		background-color: #ffffff;
	}
	31%,
	58% {
		background-color: #fff1f1;
	}
	61%,
	100% {
		background-color: #ffffff;
	}
}

@media (prefers-reduced-motion: reduce) {
	.SaludDelSitio_fase1__wVIeV,
	.SaludDelSitio_fase2__5gZDR,
	.SaludDelSitio_fase3__XN8x5,
	.SaludDelSitio_sinFase2__ciLfu,
	.SaludDelSitio_desdeFase2__MjCgH,
	.SaludDelSitio_fila__Kh2n3,
	.SaludDelSitio_resumen___ogjY {
		animation: none !important;
	}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/MetricasVidrio.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Tarjeta de vidrio con cuatro métricas sobre la grilla técnica.
 * Desde 520 px de contenedor, las cuatro en fila; por debajo, grilla de 2 × 2.
 * El brillo de atrás se desplaza lento; sin movimiento queda quieto en su lugar.
 */

.MetricasVidrio_brillo__uwQda {
	animation: MetricasVidrio_brillo__uwQda 16s ease-in-out infinite;
}
@keyframes MetricasVidrio_brillo__uwQda {
	0%,
	100% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-14%, 10%);
	}
}

.MetricasVidrio_metricas__zqOjA {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.MetricasVidrio_celda__KihUz {
	border: 0 solid rgba(255, 255, 255, 0.09);
	padding: 16px 14px;
}
.MetricasVidrio_celda__KihUz:nth-child(2n) {
	border-left-width: 1px;
}
.MetricasVidrio_celda__KihUz:nth-child(n + 3) {
	border-top-width: 1px;
}

@container (min-width: 520px) {
	.MetricasVidrio_metricas__zqOjA {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.MetricasVidrio_celda__KihUz {
		padding: 20px 18px 22px;
	}
	.MetricasVidrio_celda__KihUz:nth-child(n + 2) {
		border-left-width: 1px;
	}
	.MetricasVidrio_celda__KihUz:nth-child(n + 3) {
		border-top-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.MetricasVidrio_brillo__uwQda {
		animation: none !important;
	}
}

/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/AbanicoSitios.module.css ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * Capturas de sitios: abanico de cinco y mosaico de hasta doce.
 * El abanico abre cinco capturas en escalera desde la del medio; en angosto muestra
 * tres. El mosaico corre la columna par hacia abajo (el parallax del contenido) y la
 * mueve lento; sin movimiento queda quieta, corrida.
 */

/* ---------- Abanico ----------
 * La del medio adelante y arriba; cada una de los costados se corre hacia afuera,
 * baja un escalón y se inclina un poco. El escalón deja a la vista la píldora de
 * cada captura, debajo de la de adelante. */

.AbanicoSitios_escenario__vdfow {
	position: relative;
	height: 0;
	padding-bottom: 46%;
}
.AbanicoSitios_carta__49RGE {
	--ancho: 40%;
	--paso: 15cqw;
	--baja: 36px;
	--giro: 4deg;
	position: absolute;
	left: 50%;
	top: 2%;
	width: var(--ancho);
	margin-left: calc(var(--ancho) / -2);
	transform: translateX(calc(var(--k) * var(--paso))) translateY(calc(var(--ak) * var(--baja))) rotate(calc(var(--k) * var(--giro)))
		scale(calc(1 - var(--ak) * 0.04));
}

@container (max-width: 479px) {
	.AbanicoSitios_escenario__vdfow {
		padding-bottom: 64%;
	}
	.AbanicoSitios_carta__49RGE {
		--ancho: 60%;
		--paso: 19cqw;
		--baja: 32px;
		--giro: 4.5deg;
		top: 3%;
	}
	.AbanicoSitios_lejana__v0Gcv {
		display: none;
	}
}

/* ---------- Mosaico ---------- */

.AbanicoSitios_mosaico__9Vzxe {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
}
.AbanicoSitios_item__epoEo {
	--desfase: 0px;
	transform: translateY(var(--desfase));
}

@container (min-width: 400px) {
	.AbanicoSitios_mosaico__9Vzxe {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-bottom: 26px;
	}
	.AbanicoSitios_item__epoEo:nth-child(2n) {
		--desfase: 26px;
		animation: AbanicoSitios_parallax__ZX9ik 12s ease-in-out infinite;
	}
}
@container (min-width: 560px) {
	.AbanicoSitios_mosaico__9Vzxe {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.AbanicoSitios_item__epoEo:nth-child(2n) {
		--desfase: 0px;
		animation: none;
	}
	.AbanicoSitios_item__epoEo:nth-child(3n + 2) {
		--desfase: 26px;
		animation: AbanicoSitios_parallax__ZX9ik 12s ease-in-out infinite;
	}
}

@keyframes AbanicoSitios_parallax__ZX9ik {
	0%,
	100% {
		transform: translateY(var(--desfase));
	}
	50% {
		transform: translateY(calc(var(--desfase) - 14px));
	}
}

/* "Ver más" del mosaico en angosto (sin JS: details/summary) */
.AbanicoSitios_verMas__9qCmP > summary {
	list-style: none;
	cursor: pointer;
}
.AbanicoSitios_verMas__9qCmP > summary::-webkit-details-marker {
	display: none;
}
.AbanicoSitios_verMas__9qCmP[open] > summary {
	display: none;
}

@media (prefers-reduced-motion: reduce) {
	.AbanicoSitios_item__epoEo {
		animation: none !important;
	}
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[2].use[1]!./node_modules/next/dist/build/webpack/loaders/next-font-loader/index.js??ruleSet[1].rules[11].oneOf[2].use[2]!./node_modules/next/font/google/target.css?{"path":"src\\components\\mockups\\DocumentoTanda.tsx","import":"Nunito","arguments":[{"subsets":["latin"],"weight":["400","500","600","700"],"display":"swap","preload":false}],"variableName":"nunito"} ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/abfec168c8990f67-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/3131c862d4942660-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/e1694c6cb47c173f-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_next/static/media/ee40bb094c99a29a-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/abfec168c8990f67-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/3131c862d4942660-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/e1694c6cb47c173f-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_next/static/media/ee40bb094c99a29a-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/abfec168c8990f67-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/3131c862d4942660-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/e1694c6cb47c173f-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_next/static/media/ee40bb094c99a29a-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/abfec168c8990f67-s.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/3131c862d4942660-s.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/e1694c6cb47c173f-s.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: '__Nunito_1dda86';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_next/static/media/ee40bb094c99a29a-s.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}@font-face {font-family: '__Nunito_Fallback_1dda86';src: local("Arial");ascent-override: 99.39%;descent-override: 34.70%;line-gap-override: 0.00%;size-adjust: 101.72%
}.__className_1dda86 {font-family: '__Nunito_1dda86', '__Nunito_Fallback_1dda86';font-style: normal
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/DocumentoTanda.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * DocumentoTanda: lo que no resuelven los cortes compartidos de mockups.module.css.
 *
 * - Los tamaños del encabezado de las páginas públicas de Monitor (PublicLayout): logo y nombre
 *   grandes, rótulo en mayúsculas y el cliente como título. Dos escalones por contenedor.
 * - Las dos tarjetas del presupuesto (Resumen y Datos Bancarios): lado a lado desde 480 px de
 *   marco, apiladas por debajo, como en el celular.
 * - El color de la tarjeta de la función que cambia de decisión, en sincronía con CambioDeEstado
 *   (cambia al 42-45 % del ciclo y vuelve al 94-97 %). Solo color: nada se mueve.
 *
 * Los @container miran el contenido del Navegador, que lleva .cq.
 */

.DocumentoTanda_encabezado__Z_nh1 {
	padding: 18px 12px 15px;
}
.DocumentoTanda_marca__6PJ9v {
	gap: 7px;
	margin-bottom: 10px;
}
.DocumentoTanda_isotipo__zBYAT {
	width: 24px;
	height: auto;
}
.DocumentoTanda_nombreMarca__61xHw {
	font-size: 22px;
}
.DocumentoTanda_rotulo__6Na1V {
	font-size: 11px;
	margin-bottom: 7px;
}
.DocumentoTanda_cliente__Rc1_v {
	font-size: 19px;
}
.DocumentoTanda_subtitulo__Oo0h9 {
	font-size: 11px;
}

@container (min-width: 400px) {
	.DocumentoTanda_encabezado__Z_nh1 {
		padding: 24px 16px 19px;
	}
	.DocumentoTanda_marca__6PJ9v {
		gap: 9px;
		margin-bottom: 13px;
	}
	.DocumentoTanda_isotipo__zBYAT {
		width: 32px;
	}
	.DocumentoTanda_nombreMarca__61xHw {
		font-size: 29px;
	}
	.DocumentoTanda_rotulo__6Na1V {
		font-size: 13.5px;
		margin-bottom: 9px;
	}
	.DocumentoTanda_cliente__Rc1_v {
		font-size: 24px;
	}
	.DocumentoTanda_subtitulo__Oo0h9 {
		font-size: 12.5px;
	}
}

.DocumentoTanda_tarjetas__tZVI_ {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 8px;
}
@container (min-width: 480px) {
	.DocumentoTanda_tarjetas__tZVI_ {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Estado base = el final ("Se incluye"); la vuelta arranca en "Próxima etapa". */
.DocumentoTanda_cambiaDecision__DfF2n {
	border-color: rgba(16, 185, 129, 0.4);
	background-color: rgba(16, 185, 129, 0.03);
	animation: DocumentoTanda_cambiaDecision__DfF2n var(--dur, 7s) ease-in-out infinite;
}
@keyframes DocumentoTanda_cambiaDecision__DfF2n {
	0%,
	39% {
		border-color: rgba(14, 165, 233, 0.4);
		background-color: rgba(14, 165, 233, 0.03);
	}
	45%,
	94% {
		border-color: rgba(16, 185, 129, 0.4);
		background-color: rgba(16, 185, 129, 0.03);
	}
	100% {
		border-color: rgba(14, 165, 233, 0.4);
		background-color: rgba(14, 165, 233, 0.03);
	}
}

@media (prefers-reduced-motion: reduce) {
	.DocumentoTanda_cambiaDecision__DfF2n {
		animation: none !important;
	}
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[11].oneOf[7].use[3]!./src/components/mockups/MudanzaAntesDespues.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * MudanzaAntesDespues: el aviso de la variante "lado-a-lado". Va flotando abajo a
 * la izquierda (en el hueco que deja el sitio nuevo, más bajo); en angosto ese
 * hueco no existe y pasa a ir debajo de los dos navegadores. Sin animaciones.
 */

.MudanzaAntesDespues_aviso__0SUAo {
	position: absolute;
	left: 0;
	bottom: 12px;
	z-index: 20;
}

@container (max-width: 399px) {
	.MudanzaAntesDespues_aviso__0SUAo {
		position: static;
		margin-top: 10px;
	}
}

