.ol-art-hero::before { content: ''; position: absolute; top: -30%; left: -10%; width: 70%; height: 140%; background: radial-gradient(ellipse at center, rgba(129,140,248,0.07) 0%, transparent 60%); pointer-events: none; } .ol-art-hero::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,168,76,0.2), transparent); } .ol-art-hero-inner { width: 90%; max-width: 1600px; margin: 0 auto; position: relative; z-index: 1; } .ol-art-hero-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; } @media (max-width: 1000px) { .ol-art-hero-grid { grid-template-columns: 1fr; gap: 2.5rem; } } .ol-art-hero-right { display: flex; flex-direction: column; gap: 1.25rem; padding-top: 0.25rem; } .ol-art-hero-copy { font-size: 15px; color: rgba(240,240,245,0.48); line-height: 1.8; margin: 0; } .ol-art-badges { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-bottom: 1.25rem; } .ol-art-cat { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.3rem 0.85rem; border-radius: 999px; border: 1px solid; } .ol-art-cat.rendimiento { background: rgba(99,102,241,0.1); border-color: rgba(99,102,241,0.3); color: #818CF8; } .ol-art-cat.tecnologia { background: rgba(14,165,233,0.1); border-color: rgba(14,165,233,0.3); color: #38BDF8; } .ol-art-cat.diseno { background: rgba(236,72,153,0.1); border-color: rgba(236,72,153,0.3); color: #F472B6; } .ol-art-cat.ecommerce { background: rgba(16,185,129,0.1); border-color: rgba(16,185,129,0.3); color: #34D399; } .ol-art-cat.estrategia { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.3); color: #FBBF24; } .ol-art-readtime { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 12px; font-weight: 600; color: rgba(240,240,245,0.5); padding: 0.3rem 0.75rem; border-radius: 999px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); } .ol-art-title { font-size: clamp(2.2rem, 4.5vw, 3.75rem); font-weight: 900; color: #F0F0F5; letter-spacing: -0.035em; line-height: 1.05; margin: 0 0 1.5rem; } .ol-art-excerpt { font-size: 1.0625rem; color: rgba(240,240,245,0.55); line-height: 1.75; margin: 0 0 2rem; } .ol-art-meta { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.06); } .ol-art-meta-author { display: flex; align-items: center; gap: 0.75rem; } .ol-art-meta-avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #C9A84C, #8B7236); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; color: #08080E; border: 1px solid rgba(201,168,76,0.3); } .ol-art-meta-author-info { display: flex; flex-direction: column; gap: 2px; } .ol-art-meta-author-name { font-size: 13px; font-weight: 700; color: rgba(240,240,245,0.85); } .ol-art-meta-author-role { font-size: 11.5px; color: rgba(240,240,245,0.4); } .ol-art-meta-sep { width: 1px; height: 24px; background: rgba(255,255,255,0.08); } .ol-art-meta-item { font-size: 12.5px; color: rgba(240,240,245,0.45); display: inline-flex; align-items: center; gap: 0.35rem; } .ol-art-meta-item svg { opacity: 0.5; } /* ============================================================ FEATURED IMAGE BAND ============================================================ */ .ol-art-featured-band { background: #04040A; padding: 3rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); } .ol-art-featured-inner { width: 90%; max-width: 1600px; margin: 0 auto; } .ol-art-featured { position: relative; border-radius: 16px; overflow: hidden; border: 1px solid rgba(201,168,76,0.15); background: #0C0C18; box-shadow: 0 30px 80px rgba(0,0,0,0.45); } .ol-art-featured img { width: 100%; height: auto; display: block; aspect-ratio: 21/9; object-fit: cover; } @media (max-width: 760px) { .ol-art-featured img { aspect-ratio: 16/10; } } .ol-art-featured-caption { position: absolute; left: 1.25rem; bottom: 1.25rem; display: inline-flex; align-items: center; gap: 0.45rem; font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.45rem 0.9rem; border-radius: 999px; background: rgba(8,8,14,0.72); border: 1px solid rgba(201,168,76,0.25); color: #C9A84C; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); } /* ============================================================ ARTICLE LAYOUT ============================================================ */ .ol-art-section { background: #08080E; padding: 5rem 0 6rem; position: relative; } .ol-art-inner { width: 90%; max-width: 1600px; margin: 0 auto; } .ol-art-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 3.5rem; align-items: start; } @media (max-width: 1100px) { .ol-art-layout { grid-template-columns: 1fr; gap: 3rem; } } /* ============================================================ ARTICLE BODY ============================================================ */ .ol-art-body { max-width: none; width: 100%; font-family: 'Inter', system-ui, sans-serif; } .ol-art-body > h2 { font-size: clamp(1.5rem, 2.5vw, 1.875rem); font-weight: 800; color: #F0F0F5; letter-spacing: -0.025em; margin: 3.5rem 0 1.25rem; line-height: 1.2; scroll-margin-top: 110px; position: relative; } .ol-art-body > h2::before { content: ''; position: absolute; left: -1.25rem; top: 0.5em; width: 4px; height: 1.1em; background: linear-gradient(180deg, #C9A84C, rgba(201,168,76,0.2)); border-radius: 2px; } @media (max-width: 760px) { .ol-art-body > h2::before { display: none; } } .ol-art-body > h2:first-child { margin-top: 0; } .ol-art-body > h3 { font-size: 1.125rem; font-weight: 700; color: rgba(240,240,245,0.9); margin: 2rem 0 0.75rem; letter-spacing: -0.015em; } .ol-art-body > p { font-size: 1.0625rem; color: rgba(240,240,245,0.72); line-height: 1.85; margin: 0 0 1.25rem; } .ol-art-body > p.lead::first-letter { float: left; font-size: 3.75rem; font-weight: 900; color: #C9A84C; line-height: 0.9; padding: 0.3rem 0.75rem 0 0; letter-spacing: -0.04em; } .ol-art-body strong { color: #F0F0F5; font-weight: 700; } .ol-art-body a:not([class]) { color: #C9A84C; text-decoration: none; border-bottom: 1px solid rgba(201,168,76,0.3); transition: all 0.2s; } .ol-art-body a:not([class]):hover { border-bottom-color: #C9A84C; color: #E0BB5D; } .ol-art-body > ul, .ol-art-body > ol { margin: 0 0 1.5rem 0; padding: 0; list-style: none; } .ol-art-body > ul > li, .ol-art-body > ol > li { position: relative; padding: 0.25rem 0 0.25rem 1.75rem; font-size: 1.0625rem; color: rgba(240,240,245,0.72); line-height: 1.8; margin-bottom: 0.5rem; } .ol-art-body > ul > li::before { content: ''; position: absolute; left: 0; top: 0.85rem; width: 6px; height: 6px; border-radius: 50%; background: #C9A84C; box-shadow: 0 0 0 3px rgba(201,168,76,0.15); } .ol-art-body > ol { counter-reset: li; } .ol-art-body > ol > li { counter-increment: li; } .ol-art-body > ol > li::before { content: counter(li); position: absolute; left: 0; top: 0.35rem; font-size: 11px; font-weight: 800; color: #C9A84C; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.25); border-radius: 50%; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; } .ol-art-body > blockquote { position: relative; margin: 2.5rem 0; padding: 1.75rem 1.75rem 1.75rem 3.5rem; background: linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02)); border: 1px solid rgba(201,168,76,0.15); border-left: 3px solid #C9A84C; border-radius: 0 12px 12px 0; } .ol-art-body > blockquote::before { content: '"'; position: absolute; left: 1rem; top: 0.25rem; font-size: 3.5rem; font-weight: 900; color: rgba(201,168,76,0.35); font-family: Georgia, serif; line-height: 1; } .ol-art-body > blockquote p { margin: 0; font-size: 1.125rem; font-style: italic; color: rgba(240,240,245,0.85); line-height: 1.7; } .ol-art-cta-inline { margin: 3.5rem 0; padding: 2.25rem 2.5rem; background: radial-gradient(ellipse at 70% 30%, rgba(201,168,76,0.15) 0%, transparent 60%), #0C0C18; border: 1px solid rgba(201,168,76,0.25); border-radius: 16px; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; } @media (max-width: 700px) { .ol-art-cta-inline { grid-template-columns: 1fr; gap: 1.5rem; text-align: left; } } .ol-art-cta-inline-label { font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(201,168,76,0.7); margin: 0 0 0.5rem; } .ol-art-cta-inline h3 { margin: 0 0 0.5rem; font-size: 1.375rem; font-weight: 800; color: #F0F0F5; letter-spacing: -0.02em; line-height: 1.25; } .ol-art-cta-inline p { margin: 0; font-size: 0.9375rem; color: rgba(240,240,245,0.6); line-height: 1.65; } .ol-art-cta-inline-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.85rem 1.5rem; background: #C9A84C; color: #08080E; font-size: 13.5px; font-weight: 700; text-decoration: none; border-radius: 8px; white-space: nowrap; transition: background 0.2s, transform 0.15s; } .ol-art-cta-inline-btn:hover { background: #D4B45C; transform: translateY(-1px); } .ol-art-share { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin: 3.5rem 0 2rem; padding: 1.5rem 0; border-top: 1px solid rgba(255,255,255,0.07); border-bottom: 1px solid rgba(255,255,255,0.07); } .ol-art-share-label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(240,240,245,0.58); margin-right: 0.5rem; } .ol-art-share-btn { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; color: rgba(240,240,245,0.55); text-decoration: none; transition: all 0.2s; } .ol-art-share-btn:hover { background: rgba(201,168,76,0.1); border-color: rgba(201,168,76,0.3); color: #C9A84C; } .ol-art-author-card { display: grid; grid-template-columns: 64px 1fr auto; gap: 1.25rem; align-items: center; margin: 2rem 0 0; padding: 1.75rem; background: #0C0C18; border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; } @media (max-width: 600px) { .ol-art-author-card { grid-template-columns: 56px 1fr; gap: 1rem; } .ol-art-author-card-btn { grid-column: 1 / -1; text-align: center; } } .ol-art-author-avatar { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, #C9A84C, #8B7236); display: flex; align-items: center; justify-content: center; font-size: 1.25rem; font-weight: 900; color: #08080E; border: 2px solid rgba(201,168,76,0.3); } .ol-art-author-info .label { display: block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(201,168,76,0.85); margin-bottom: 0.3rem; } .ol-art-author-info .name { display: block; font-size: 1rem; font-weight: 700; color: #F0F0F5; margin-bottom: 0.15rem; } .ol-art-author-info .bio { font-size: 13px; color: rgba(240,240,245,0.5); line-height: 1.5; } .ol-art-author-card-btn { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.65rem 1.1rem; border: 1px solid rgba(201,168,76,0.3); border-radius: 8px; font-size: 12.5px; font-weight: 700; color: #C9A84C; text-decoration: none; transition: all 0.2s; } .ol-art-author-card-btn:hover { background: rgba(201,168,76,0.08); border-color: #C9A84C; } /* ============================================================ SIDEBAR ============================================================ */ .ol-art-sidebar { display: flex; flex-direction: column; gap: 1.25rem; position: sticky; top: 110px; } @media (max-width: 1100px) { .ol-art-sidebar { position: static; } } .ol-sb-widget { background: #0C0C18; border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 1.5rem; } .ol-sb-title { font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(240,240,245,0.58); margin: 0 0 1.1rem; } .ol-sb-cta { background: rgba(201,168,76,0.05); border-color: rgba(201,168,76,0.18); text-align: center; padding: 1.75rem 1.5rem; } .ol-sb-cta-icon { width: 44px; height: 44px; border-radius: 50%; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.2); display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; color: #C9A84C; } .ol-sb-cta-title { font-size: 1rem; font-weight: 700; color: #F0F0F5; letter-spacing: -0.02em; margin: 0 0 0.45rem; line-height: 1.3; } .ol-sb-cta-sub { font-size: 12.5px; color: rgba(240,240,245,0.58); line-height: 1.6; margin: 0 0 1.25rem; } .ol-sb-cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; width: 100%; padding: 0.75rem 1rem; background: #C9A84C; border: none; border-radius: 7px; font-size: 13px; font-weight: 700; color: #08080E; text-decoration: none; transition: background 0.2s, transform 0.15s; } .ol-sb-cta-btn:hover { background: #D4B45C; transform: translateY(-1px); } .ol-sb-cta-wa { display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 11.5px; color: #25D366; text-decoration: none; margin-top: 0.75rem; font-weight: 600; } .ol-sb-cta-wa:hover { opacity: 0.8; } .ol-sb-toc { display: flex; flex-direction: column; gap: 0; } .ol-sb-toc-link { position: relative; display: block; font-size: 12.5px; color: rgba(240,240,245,0.5); text-decoration: none; padding: 0.55rem 0 0.55rem 1rem; border-left: 2px solid rgba(255,255,255,0.06); line-height: 1.45; transition: all 0.2s; } .ol-sb-toc-link:hover { color: rgba(240,240,245,0.85); border-left-color: rgba(201,168,76,0.4); } .ol-sb-toc-link.active { color: #C9A84C; border-left-color: #C9A84C; background: linear-gradient(90deg, rgba(201,168,76,0.06), transparent); font-weight: 600; } .ol-sb-services { display: flex; flex-direction: column; gap: 0.5rem; } .ol-sb-svc-link { display: flex; align-items: center; gap: 0.65rem; padding: 0.65rem 0.75rem; border-radius: 8px; text-decoration: none; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.05); transition: all 0.2s; } .ol-sb-svc-link:hover { background: rgba(201,168,76,0.06); border-color: rgba(201,168,76,0.15); } .ol-sb-svc-icon { width: 30px; height: 30px; border-radius: 6px; background: rgba(201,168,76,0.08); border: 1px solid rgba(201,168,76,0.12); display: flex; align-items: center; justify-content: center; color: rgba(201,168,76,0.7); flex-shrink: 0; } .ol-sb-svc-text { display: flex; flex-direction: column; gap: 0.1rem; } .ol-sb-svc-name { font-size: 13px; font-weight: 600; color: rgba(240,240,245,0.75); line-height: 1.2; } .ol-sb-svc-link:hover .ol-sb-svc-name { color: #C9A84C; } .ol-sb-svc-sub { font-size: 11px; color: rgba(240,240,245,0.58); } .ol-sb-related { display: flex; flex-direction: column; gap: 0; } .ol-sb-related-item { display: flex; gap: 0.75rem; padding: 0.75rem 0; border-bottom: 1px solid rgba(255,255,255,0.05); text-decoration: none; align-items: flex-start; transition: all 0.2s; } .ol-sb-related-item:last-child { border-bottom: none; padding-bottom: 0; } .ol-sb-related-item:first-child { padding-top: 0; } .ol-sb-related-num { font-size: 11px; font-weight: 800; color: rgba(201,168,76,0.85); min-width: 18px; margin-top: 2px; } .ol-sb-related-info { display: flex; flex-direction: column; gap: 0.2rem; } .ol-sb-related-title { font-size: 13px; font-weight: 600; color: rgba(240,240,245,0.65); line-height: 1.35; transition: color 0.2s; } .ol-sb-related-item:hover .ol-sb-related-title { color: #C9A84C; } .ol-sb-related-meta { font-size: 11px; color: rgba(240,240,245,0.58); } /* ============================================================ NEXT READ ============================================================ */ .ol-art-nextread { background: #0A0A14; padding: 5rem 0 4rem; border-top: 1px solid rgba(255,255,255,0.06); position: relative; } .ol-art-nextread::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,168,76,0.15), transparent); } .ol-art-nextread-inner { width: 90%; max-width: 1600px; margin: 0 auto; } .ol-art-nextread-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 2.5rem; gap: 2rem; flex-wrap: wrap; } .ol-art-nextread-label { font-size: 10.5px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(201,168,76,0.7); margin: 0 0 0.75rem; } .ol-art-nextread-title { font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 800; color: #F0F0F5; letter-spacing: -0.025em; line-height: 1.15; margin: 0; } .ol-art-nextread-all { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 13px; font-weight: 600; color: #C9A84C; text-decoration: none; padding-bottom: 0.25rem; border-bottom: 1px solid rgba(201,168,76,0.3); transition: all 0.2s; } .ol-art-nextread-all:hover { border-bottom-color: #C9A84C; } .ol-art-nextread-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; } @media (max-width: 900px) { .ol-art-nextread-grid { grid-template-columns: 1fr; } } .ol-art-nextread-card { background: #0C0C18; border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; overflow: hidden; text-decoration: none; display: flex; flex-direction: column; transition: all 0.25s; } .ol-art-nextread-card:hover { border-color: rgba(201,168,76,0.25); } .ol-art-nextread-thumb { position: relative; background: linear-gradient(135deg, #0D0D1E, #14142A, #0A0A18); aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; overflow: hidden; } .ol-art-nextread-thumb::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(201,168,76,0.1) 0%, transparent 65%); } .ol-art-nextread-thumb::after { content: ''; position: absolute; inset: 0; background-image: linear-gradient(rgba(201,168,76,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(201,168,76,0.04) 1px, transparent 1px); background-size: 28px 28px; } .ol-art-nextread-num { position: relative; z-index: 1; font-size: 3rem; font-weight: 900; color: rgba(201,168,76,0.25); letter-spacing: -0.05em; } .ol-art-nextread-body { padding: 1.5rem; display: flex; flex-direction: column; gap: 0.75rem; flex: 1; } .ol-art-nextread-top { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; } .ol-art-nextread-meta { font-size: 11px; color: rgba(240,240,245,0.3); } .ol-art-nextread-h { font-size: 1rem; font-weight: 700; color: #F0F0F5; letter-spacing: -0.02em; line-height: 1.3; margin: 0; transition: color 0.2s; } .ol-art-nextread-card:hover .ol-art-nextread-h { color: #C9A84C; } .ol-art-nextread-excerpt { font-size: 13px; color: rgba(240,240,245,0.5); line-height: 1.6; margin: 0; flex: 1; } .ol-art-nextread-link { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 12px; font-weight: 600; color: #C9A84C; margin-top: 0.25rem; } .ol-blog-cat { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.2rem 0.6rem; border-radius: 999px; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.2); color: #C9A84C; } .ol-blog-cat.rendimiento { background: rgba(99,102,241,0.1); border-color: rgba(99,102,241,0.2); color: #818CF8; } .ol-blog-cat.tecnologia { background: rgba(14,165,233,0.1); border-color: rgba(14,165,233,0.2); color: #38BDF8; } .ol-blog-cat.diseno { background: rgba(236,72,153,0.1); border-color: rgba(236,72,153,0.2); color: #F472B6; } .ol-blog-cat.ecommerce { background: rgba(16,185,129,0.1); border-color: rgba(16,185,129,0.2); color: #34D399; } .ol-blog-cat.estrategia { background: rgba(245,158,11,0.1); border-color: rgba(245,158,11,0.2); color: #FBBF24; } /* ============================================================ CTA BAND ============================================================ */ .ol-blog-cta-band { background: #04040A; padding: 5rem 0; position: relative; } .ol-blog-cta-band::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,168,76,0.2), transparent); } .ol-blog-cta-band-inner { width: 90%; max-width: 1600px; margin: 0 auto; display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: center; } @media (max-width: 760px) { .ol-blog-cta-band-inner { grid-template-columns: 1fr; gap: 2rem; } } .ol-blog-cta-band-label { font-size: 10.5px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(201,168,76,0.85); margin: 0 0 0.75rem; } .ol-blog-cta-band-title { font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; color: #F0F0F5; letter-spacing: -0.03em; line-height: 1.15; margin: 0 0 0.75rem; } .ol-blog-cta-band-sub { font-size: 15px; color: rgba(240,240,245,0.58); line-height: 1.7; margin: 0; max-width: 60ch; } .ol-blog-cta-band-actions { display: flex; flex-direction: column; gap: 0.75rem; flex-shrink: 0; } .ol-blog-cta-band-btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.9rem 1.75rem; background: #C9A84C; border-radius: 8px; font-size: 14px; font-weight: 700; color: #08080E; text-decoration: none; white-space: nowrap; transition: background 0.2s, transform 0.15s; } .ol-blog-cta-band-btn:hover { background: #D4B45C; transform: translateY(-1px); } .ol-blog-cta-band-wa { display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 12.5px; font-weight: 600; color: #25D366; text-decoration: none; } .ol-blog-cta-band-wa:hover { opacity: 0.8; }
Saltar al contenido
Atención personalizada  ·  Ciudad de México
Cotizar proyecto →
Estrategia 8 min de lectura

Cómo elegir una agencia de diseño web

Contratar la agencia equivocada cuesta tiempo, dinero y algo más difícil de recuperar: la credibilidad frente a tus clientes. Estos son los criterios concretos para elegir bien desde la primera reunión.

OL
Equipo OrigenLab Desarrollo Web & Diseño Digital
Guía profesional

Casi todas las agencias prometen lo mismo en su página: diseño profesional, resultados, atención personalizada. El reto no es creerle a la que mejor se vende, sino saber qué revisar antes de firmar.

En esta guía vas a encontrar los puntos que de verdad separan a una agencia sólida de una que solo entrega bonito: portafolio real, velocidad, proceso por escrito, trato directo y una cotización transparente.

La decisión que define tu sitio

Antes del logo, del color de los botones o de la primera línea de código, hay una decisión que pesa más que todas: a quién le confías el diseño de tu sitio web.

Una buena agencia convierte tu inversión en una herramienta que atrae clientes durante años. La equivocada te deja un sitio lento, difícil de actualizar y que nadie usa; y para cuando te das cuenta, ya perdiste tiempo, dinero y algo más caro de recuperar: la credibilidad frente a tus propios clientes.

El problema es que casi todas las agencias dicen lo mismo en su página: diseño profesional, resultados, atención personalizada. Elegir bien no es creerle a la que mejor se vende, sino saber qué preguntar y qué revisar antes de firmar. En OrigenLab vemos este proceso desde adentro todos los días, y esta guía reúne los criterios que de verdad separan a una agencia sólida de una que solo entrega bonito.

Contratar una web es como contratar a alguien de planta: no eliges por el discurso de la entrevista, eliges por lo que ya ha construido y por cómo trabaja.

Define qué necesita tu sitio antes de buscar

El error más común es empezar al revés: buscar agencia antes de saber qué quieres lograr. "Quiero una página" no es un objetivo, es un formato. Lo que le da sentido es el negocio que hay detrás.

Antes de escribirle a nadie, ponte a responder con honestidad:

  • ¿Qué debe lograr el sitio? Recibir cotizaciones, vender en línea, mostrar tu catálogo, agendar citas. No es lo mismo un sitio que informa que uno que vende.
  • ¿Quién es tu cliente y cómo llega? Un despacho legal y una taquería atraen distinto, y su sitio también debe hacerlo.
  • ¿Qué pasa después del clic? Si alguien te escribe por WhatsApp o llena un formulario, ¿quién responde y en cuánto tiempo?
  • ¿Qué tienes ya? Logo, fotos, textos, dominio, redes. Lo que exista acelera; lo que falte también es parte del trabajo.

Cuando llegas con estas respuestas, dos cosas mejoran al instante: filtras rápido a las agencias que solo saben hacer páginas bonitas y recibes cotizaciones que comparan lo mismo. Una agencia seria, además, va a profundizar en estas preguntas contigo. Si nadie te las hace, esa es la primera bandera.

Pide portafolio real, no plantillas

El portafolio es la prueba más honesta que existe. Un discurso se ensaya; un sitio ya publicado no. Pide ver trabajo real y ábrelo tú mismo en tu celular.

Qué mirar cuando revises su portafolio:

  • Sitios que puedas abrir en vivo, no solo imágenes dentro de una presentación. Una maqueta bonita no prueba que sepan construir.
  • Variedad real, no la misma plantilla con distinto logo. Si todos sus proyectos se ven idénticos, así se verá el tuyo.
  • Proyectos parecidos al tuyo en giro o en objetivo. Quien ya resolvió un caso como el tuyo llega con menos tropiezos.
  • Casos con contexto: qué necesitaba el cliente, qué se hizo y qué cambió. Eso distingue a quien diseña con criterio de quien solo maqueta.

Desconfía de las agencias que no muestran trabajo propio o que se esconden detrás de acuerdos de confidencialidad para absolutamente todo. Quien construye bien está orgulloso de enseñarlo.

Exige velocidad y calidad técnica

Un sitio bonito que tarda cinco segundos en cargar es un sitio que pierde clientes. Buena parte de las visitas se van si una página en el celular tarda más de tres segundos, y en México la mayoría entra justo desde el celular, muchas veces con datos.

La velocidad no es un lujo técnico: es dinero. Cada segundo de más recorta las conversiones, y una página lenta transmite descuido antes de que alguien lea una sola palabra. Por eso vale la pena preguntar por lo técnico aunque tú no seas técnico.

Pídele a la agencia que te muestre, con un sitio suyo ya publicado:

  • Tiempo de carga real: una página bien construida abre en menos de un segundo, no en cinco.
  • Core Web Vitals en verde, las métricas con las que Google mide la experiencia de carga, la estabilidad y la respuesta de una página.
  • Que se vea impecable en el celular, no solo en la pantalla grande de una laptop.
  • Buenas prácticas de accesibilidad, para que cualquier persona pueda usar el sitio sin barreras.

El diseño enamora en la primera visita; la velocidad y la solidez técnica son las que convierten esa visita en un cliente.

Pide un proceso claro y por escrito

Una agencia que trabaja bien tiene un método y te lo puede explicar en palabras simples. Una que improvisa te llena de promesas, pero no te dice cómo va a llegar ahí.

Antes de firmar, pide que te describan las etapas: descubrimiento, diseño, construcción, revisiones y publicación. Y pide algo clave: un calendario de trabajo por escrito desde el inicio, con puntos de aprobación donde tú revisas y das el visto bueno antes de avanzar.

Estas son banderas rojas que conviene tomar en serio:

  • No saben explicarte las etapas del proyecto ni qué sigue después de cada una.
  • No hay momentos de aprobación: te enseñan el sitio hasta el final, sin puntos intermedios para corregir.
  • Todo es de palabra. Si no está por escrito, no existe cuando aparece una diferencia.
  • Prometen tenerlo listísimo sin explicar cómo. La prisa vaga suele terminar en un sitio a medias.

Un calendario y unas etapas claras no son burocracia: son tu forma de saber, en cada momento, dónde va tu proyecto y qué se espera de ti.

Habla con quien construye tu sitio

Hay agencias que venden y luego subcontratan el trabajo a terceros que nunca vas a conocer. El resultado se nota: cada cambio pasa por un teléfono descompuesto, los tiempos se estiran y nadie termina de hacerse responsable.

Pregunta directo: ¿quién va a construir mi sitio y con quién voy a tratar? Lo ideal es hablar con la gente que de verdad diseña y programa, no solo con un vendedor que desaparece después de firmar.

La comunicación directa te da tres cosas que valen oro durante un proyecto:

  • Menos malentendidos: lo que pides le llega a quien lo ejecuta, sin intermediarios que traducen a medias.
  • Respuestas rápidas cuando surge una duda o quieres ajustar algo.
  • Un responsable claro cuando algo se tiene que corregir.

No se trata de que la agencia sea enorme o diminuta, sino de que sepas exactamente con quién trabajas y de que esa persona conozca tu proyecto de memoria.

Cuida la transparencia en alcance y cotización

La mayoría de los malos finales entre cliente y agencia no empiezan en el diseño, sino en un alcance mal definido. "Sí incluía eso" contra "eso era aparte" es la discusión más cara y más evitable de todas.

Una cotización clara te dice, sin que tengas que adivinar, qué estás comprando:

  • Qué incluye exactamente: cuántas secciones o páginas, formularios, versión para celular, textos y quién pone las fotos.
  • Qué queda fuera y cuánto costaría agregarlo más adelante.
  • Qué pasa al terminar: dónde vive el sitio, quién puede hacer cambios y si hay acompañamiento después.
  • Qué necesitan de ti y cuándo, para que el proyecto no se frene esperándote.

Sobre el precio, un consejo: la cotización más barata casi nunca es la más económica. Un sitio que hay que rehacer a los pocos meses termina costando el doble. Si quieres una referencia honesta de lo que incluye cada nivel de inversión, revisa nuestros paquetes; y si prefieres algo a la medida, pide una cotización con tu caso concreto, sin cifras infladas ni sorpresas al final.

Cómo trabajamos en OrigenLab

Todo lo anterior no es una lista teórica: es la forma en que nosotros mismos operamos, porque son las cosas que a nosotros nos gustaría que nos ofrecieran.

Cuando trabajas con OrigenLab, esto es lo que puedes esperar:

  • Portafolio abierto. Puedes abrir en vivo los sitios que hemos hecho y ver cómo cargan en tu propio celular.
  • Velocidad como prioridad. Construimos sitios que abren en menos de un segundo y se ven impecables en cualquier pantalla.
  • Proceso y calendario por escrito. Sabes desde el inicio las etapas, los puntos de aprobación y qué se espera de ti.
  • Trato directo. Hablas con quien diseña y construye tu sitio, aquí en México, sin cadenas de subcontratación.
  • Alcance transparente. Te decimos con claridad qué incluye tu proyecto antes de empezar.

Si estás evaluando a quién confiarle tu sitio, la mejor forma de comparar no es un folleto, sino una conversación concreta sobre tu negocio. Escríbenos o pide tu cotización: te decimos con franqueza qué necesita tu proyecto y cómo lo resolveríamos, sin compromiso.

Siguiente paso

¿Listo para llevar tu sitio al siguiente nivel?

Hacemos diagnóstico técnico y estratégico sin costo. Te decimos exactamente qué frena a tu sitio hoy y qué camino tiene más sentido para tu negocio — sin compromiso de compra.

Solicitar diagnóstico
Compartir
OL
Escrito por Equipo OrigenLab Agencia mexicana de desarrollo web. Construimos sitios rápidos, modernos y pensados para convertir — para empresas en CDMX, Monterrey y Guadalajara.
Conocer al equipo

¿Listo para actuar?

Lo que lees aquí lo aplicamos
en cada proyecto.

Si este artículo te hizo preguntarte cómo se aplica en tu negocio, la respuesta más rápida es una conversación directa. Sin compromiso, sin ventas de presión — solo claridad sobre lo que necesitas.